首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python -无法从CSV文件读取字典值

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

Stack Overflow用户
提问于 2018-04-08 06:18:28
回答 2查看 501关注 0票数 -1

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

代码语言:javascript
复制
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不使用双引号时,我的代码似乎无法工作。

代码语言:javascript
复制
with open(file_location) as f_obj:
    reader = csv.DictReader(f_obj, delimiter=',')
    for line in reader:
         print(line['shipment_id'])
EN

回答 2

Stack Overflow用户

发布于 2018-04-08 06:30:05

试试这个:

代码语言:javascript
复制
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('"', '')将工作,如果没有双引号,它将不会执行任何操作。

如果工作正常,请告诉我:)

票数 0
EN

Stack Overflow用户

发布于 2018-04-08 20:01:09

您应该能够使用quotechar作为参数:

代码语言:javascript
复制
reader = csv.DictReader(f_obj, delimiter=',', quotechar='"')

(或者可能是'\"' --我不知道Python是如何处理这个问题的)。

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

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49712491

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档