Python 将选项卡清除的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

我想从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.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,我无法告诉你问题出在哪里。