我有一个制表符分隔的csv文件,如下所示:
"land"."monkey" "land"."dog"
"see"."fish" "see"."shell"
我用以下内容阅读并构建了一个词典:
import argparse
currentSources = open('currentSources.csv', 'r')
find_replace_dict = {}
with currentSources as f:
reader = csv.reader(f,delimiter='\t')
find_replace_dict = dict((rows[0],rows[1]) for rows in reader)
print find_replace_dict
我希望find_replace_dict的输出像
{'"land"."monkey"': '"land"."dog"', '"see"."fish"': '"see"."shell"'}
但请改为:
{'land."monkey"': 'land."dog"', 'see."fish"': 'see."shell"'}
这里双重引用的土地和看不见了。 我已经尝试告诉读者用
引用所有内容reader = csv.reader(f,delimiter='\t',quoting=csv.QUOTE_NONNUMERIC)
没有任何区别。
如何保留所有双引号?
答案 0 :(得分:1)
打开文件时,明确指示Python该quotechar不适用,并将其设置为None
以下内容可帮助您获得所需的输出:
with currentSources as f:
reader = csv.reader(f, delimiter='\t', quotechar=None)
答案 1 :(得分:0)
reader = csv.reader(currentSources, delimiter='\t', quotechar=None)
删除with
语句来整理它。