gpt4 book ai didi

python - DictReader,无引号,标签文件

转载 作者:太空狗 更新时间:2023-10-29 17:12:45 26 4
gpt4 key购买 nike

我有一个如下所示的 csv 文件:请注意,没有引号,制表符 (\t) 是分隔符,标题和实际内容之间有一个空行。

Facility No     Testing No      Name    Age

252 2351 Jackrabbit, Jazz 15
345 257 Aardvark, Ethel 41

我想我已经尝试了几乎所有可能的想法和参数组合

f = open('/tmp/test', 'r')
csvFile = f.read()
reader = csv.DictReader(csvFile, delimiter='\t', quoting=csv.QUOTE_NONE)
print reader.fieldnames

打印结果为:

['F']

我怎样才能把它变成我可以解析并放入数据库的东西?将其编入字典会很有帮助。

最佳答案

csvFile 是什么?它是表示以“F”开头的文件名的字符串吗?

csv.DictReader 需要一个打开的文件对象,而不是文件名。

尝试:

with open(csvFile, 'rb') as f:
reader = csv.DictReader(f, delimiter='\t', quoting=csv.QUOTE_NONE)
print reader.fieldnames

编辑

如果您的 csvFile 是包含全部数据的字符串,您必须将其转换为 StringIO(因为 csv 只能访问类文件对象,而不是字符串)。

尝试:

from cStringIO import StringIO

# csvFile = 'Facility No\tTesting No\tName\tAge\n\n252\t2351\tJackrabbit, Jazz\t15\n345\t257\tAardvark, Ethel\t41\n'
reader = csv.DictReader(StringIO(csvFile), delimiter='\t', quoting=csv.QUOTE_NONE)
print reader.fieldnames

或者,如果您编辑的问题打开并读取文件:

with open('/tmp/test', 'rb') as f:
reader = csv.DictReader(f, delimiter='\t', quoting=csv.QUOTE_NONE)
print reader.fieldnames

这对我有用。

关于python - DictReader,无引号,标签文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5360932/

26 4 0