Python - 无法从CSV文件中读取字典值

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (173)

我有两种不同的CSV文件。其中一个使用双引号,另一个不使用。

A: "shipment_id","status","to_name","to_address_1" etc

B: shipment_id,status,to_name,to_address_1 etc

shipment_id无论提交哪种类型的CSV,如何读取CSV并打印出值?

当CSV不使用双引号时,我的代码似乎不起作用。

with open(file_location) as f_obj:
    reader = csv.DictReader(f_obj, delimiter=',')
    for line in reader:
         print(line['shipment_id'])
提问于
用户回答回答于

尝试这个:

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('"', '') 如果它有双引号就可以工作,如果没有,它就什么都不做。

让我知道它是否有效:)

用户回答回答于

您应该可以使用quotecharas参数:

reader = csv.DictReader(f_obj, delimiter=',', quotechar='"')

(或者'\"'- 我不知道Python如何处理这个)。

这应该适用于您的两个版本的数据。

如果DictReader不支持该quotechar参数,请尝试csv.reader直接使用它。

扫码关注云+社区

领取腾讯云代金券