Python 将选项卡清除的csv文件导入字典列表
我想从csv文件导入此文件Python 将选项卡清除的csv文件导入字典列表,python,Python,我想从csv文件导入此文件 task_name time_spent notes date task_number Worked on hotfrog. 45 Hotfrog started glitching so I moved on to something else. 01/25/2017 02:25 1 falkd 3 adlskfj 01/01/2005 09:40 2 并将其转换为一个列表,其中包含字典,如下所示:` self.exa
task_name time_spent notes date task_number
Worked on hotfrog. 45 Hotfrog started glitching so I moved on to something else. 01/25/2017 02:25 1
falkd 3 adlskfj 01/01/2005 09:40 2
并将其转换为一个列表,其中包含字典,如下所示:`
self.example_dict_list =
[{'task_name': 'Worked on hotfrog', 'time_spent': '45', 'notes': 'Hotfrog started glitching so I moved on to something else', 'date': '01/25/2017 02:25', 'task_number': '1'}, {'task_name': 'falkd', 'time_spent': '3', 'notes': 'adlskfj', 'date': '01/01/2005 09:40', 'task_number': '2'}]
这应该行得通,我制作了一个小的
CSV
文件,看起来是这样的:
task_name time_spent notes date task_number
worked on blah 45 glitching and stuff 1/1/15 2
stuff 40 stuff happened 2/3/16 5
然后,要将其转换为目录列表,您可以执行以下操作:
import csv
f = 'path_to_file.csv'
with open(f, 'r') as fin:
reader = csv.reader(fin)
headers = reader.next()
dict_list = []
for line in reader:
dict_list.append(dict(zip(headers, line)))
dict_list
[{'date': '1/1/15',
'notes': 'glitching and stuff',
'task_name': 'worked on blah',
'task_number': '2',
'time_spent': '45'},
{'date': '2/3/16',
'notes': 'stuff happened',
'task_name': 'stuff',
'task_number': '5',
'time_spent': '40'}]
堆栈溢出不是代码编写服务。我们很乐意帮助您,但您需要先自己努力解决这个问题。你做了什么来尝试这样做?你的帖子毫无意义,你花费的时间的价值来自哪里?
notes
中的值来自哪里?很抱歉,我会修复它。对于肯·怀特,我已经试了一个小时来让它工作。谢谢你的帮助。但它返回了此错误…AttributeError:“\u csv.reader”对象没有属性“next”,我假设您使用的是Python 3。将该行更改为headers=next(reader)
它没有正确返回。这就是它给出的:[{},{'task\tu name\ttime\tnotes\tdate\ttask\tu number':'在hotfrog上工作。\t45\t程序开始出现故障,所以我转到了其他地方。\t01/25/2017 02:25\t1},{},{'task\tu name\ttime\tnotes\tdate\ttask\tu number':'falkd\t3\tadlskfj\t01/2005 09:40\t2},{/code>看起来像是分开的,将csv.reader(fin)
更改为csv.reader(fin,delimiter='\t')
,这可能与您的输入文件有关,鉴于您提供的示例,代码按预期工作。您只需将该列表设置为一个变量,然后执行dict\u list=[i for i in dict\u list if i]
,这将删除所有空的dict。没有实际的csv,我无法告诉你问题出在哪里。