我有两个CSV文件的变体。其中一个使用双引号,另一个不使用。
A: "shipment_id","status","to_name","to_address_1" etc
B: shipment_id,status,to_name,to_address_1 etc
无论提交哪种类型的CSV,如何读取CSV并打印出shipment_id
的值?
当CSV不使用双引号时,我的代码似乎无法工作。
with open(file_location) as f_obj:
reader = csv.DictReader(f_obj, delimiter=',')
for line in reader:
print(line['shipment_id'])
发布于 2018-04-08 06:30:05
试试这个:
with open(file_location) as f_obj:
f_obj = f_obj.read().replace('"','').splitlines()
reader = csv.DictReader(f_obj, delimiter=',')
for line in reader:
print(line['shipment_id'])
如果有双引号,.replace('"', '')
将工作,如果没有双引号,它将不会执行任何操作。
如果工作正常,请告诉我:)
发布于 2018-04-08 20:01:09
您应该能够使用quotechar
作为参数:
reader = csv.DictReader(f_obj, delimiter=',', quotechar='"')
(或者可能是'\"'
--我不知道Python是如何处理这个问题的)。
这应该适用于两个版本的数据。
如果DictReader
不支持quotechar
参数,请尝试在csv.reader
上直接使用它。
https://stackoverflow.com/questions/49712491
复制相似问题