你的...是csvFile
?它是代表以“F”开头的文件名的字符串吗?
csv.DictReader
需要一个打开的文件对象,而不是文件名。
Try:
with open(csvFile, 'rb') as f:
reader = csv.DictReader(f, delimiter='\t', quoting=csv.QUOTE_NONE)
print reader.fieldnames
EDIT
If your csvFile
是一个包含整个数据的字符串,您必须将其转换为StringIO
(因为csv
只能访问类似文件的对象,不能访问字符串)。
Try:
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
这对我有用。