0
我試圖解析CSV文件的標題使用DictReader。正好有一些字段值帶有逗號。這些逗號不應該用作分隔符。只有引號外的逗號應該用作分隔符。 請讓我知道,我該如何做到這一點。Python的CSV DictReader問題與內部的逗號字段
假設,CSV文件是這樣的:
field1, field2
"sdsad,asdsa","asdasd"
我試圖解析CSV文件的標題使用DictReader。正好有一些字段值帶有逗號。這些逗號不應該用作分隔符。只有引號外的逗號應該用作分隔符。 請讓我知道,我該如何做到這一點。Python的CSV DictReader問題與內部的逗號字段
假設,CSV文件是這樣的:
field1, field2
"sdsad,asdsa","asdasd"
在我的例子CSV文件中的數據是這樣的
field1, field2, field3
"2012,A,", "F","1"
"2013,B,", "M","2"
"2014,C,", "M","3"
"2015,D,", "M","4"
我用這個代碼
with open('names.csv') as csvfile:
reader = csv.DictReader(csvfile, fieldnames=("field1", "field2", "field3"), restkey=None, restval=None, dialect='excel')
for row in reader:
print(row['field1'],row['field2'],row['field3'])
以下是我得到的輸出。
('field1', ' field2', ' field3')
('2012,A,', ' "F"', '1')
('2013,B,', ' "M"', '2')
('2014,C,', ' "M"', '3')
('2015,D,', ' "M"', '4')
您還可以通過創建方言類的一個實例(由文檔的建議),然後你可以把它分配給方言參數設置的參數,如Dialect.delimiter。