[英]python dict in comma separated csv file
Python dict的格式如下:
'{"a":1, "b":2, "c":3}'
注意,它使用逗號分隔不同的key:value對。
問題是我有一個CSV文件,該文件也是用逗號分隔的各列:
'
"id", "gender", "age", "name"
"001", "male", "14", "{"first":"Mike", "last":"Green"}"
"002", "female", "15", "{"first":"Kate", "last":"Spear"}"
'
當我做
pandas.read_csv('csvfile.csv', sep = ',', names=["id", "gender", "age", "name"])
我有:
'
"id", "gender", "age", "name"
"001", "male", "14", "{"first":"Mike"
"002", "female", "15", "{"first":"Kate"
'
我猜的原因是csv閱讀器將dict中的逗號作為csv文件中的分隔符。 由於我僅指定了4個列,分別為“ id”,“ gender”,“ age”,“ name””,因此它忽略了姓氏。
有什么想法或可能的解決方案嗎? 謝謝!
您可以更改read_csv
使用的定界符。 如果可以更改csv文件以使用分號分隔列,則可以使用read_csv(file.csv, sep=';'...)
或者,您可以修復來自
"001", "male", "14", "{"first":"Mike", "last":"Green"}"
至
"001", "male", "14", "{'first':'Mike', 'last':'Green'}"
當然,這兩種方法都意味着編輯csv文件。
第二個聽起來更好。 正則表達式(\\{[^"]*)(")([^}]*\\})
可用於匹配括號內的引號。 (未試)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.