【发布时间】:2017-01-25 21:09:50
【问题描述】:
我有一个包含以下数据的表格文件(k.tsv)
Name School Year Course
Nicole UVA Freshmen Biology
Jenna GWU Sophomore Organic
Brandon VT Senior Finance
我想在不导入 csv 或使用 csvreader 并将其存储到字典中的情况下读取此文件。我该怎么做?
my_dict = {}
with open("k.tsv", 'r') as f:
for line in f:
items=line.split()
key, values = items[0], items[1:]
my_dict[key] = values
print my_dict
我试过了,但它没有正确输出数据。
【问题讨论】:
-
open(),read(),close()。顺便说一句:如果文件中的数据不正确,那么您可能会得到不正确的结果。更好地展示您获得的结果以及您期望的结果。 -
您的代码在我的电脑上运行良好。前提是您文件中的每一行都没有换行符。我按预期收到了
{'Nicole': ['UVA', 'Freshmen', 'Biology'], 'Jenna': ['GWU', 'Sophomore', 'Organic'], 'Name': ['School', 'Year', 'Course'], 'Brandon': ['VT', 'Senior', 'Finance']}。 -
@Jean-FrançoisFabre - 你说得对,
readlines()更糟 :) -
您的代码可以正常工作......并且“没有正确输出数据”?请告诉我们您得到什么以及您期望什么。 2 个人已经因此浪费了时间发布错误的答案(另外 2 个人浪费时间对所有移动的内容投反对票:))
-
@furas
with运算符将负责关闭文件,f是一个文件迭代器。示例中使用的操作没有任何问题。听起来输入数据一定是坏的。
标签: python dictionary