所以我有一个练习任务要解决。这个任务是开发一个从文件中读取csv数据到内存中的函数,但是我们不能使用任何库来完成这个任务。所以我不能使用csv阅读器,Pandas,NumPy等。
这是我的想法,但是它并不像它说的那样工作,“csv_list没有定义”。我有点不知道从这里去哪里,并且主要是使用库编码的,因此,手动编码和自己开发函数是一场斗争!我在这里寻找过任何解决方案,但似乎都不起作用/他们使用的库,我不能使用。如果有人有办法做到这一点,我将不胜感激!
#define read csv
def read_csv (file_name):
with open(file_name) as f:
csv_list = [[val.strip() for val in r.split (",")] for r in f.readlines()]
#convert file to dictionary structure
(_, *header), *data = csv_list
csv_dict = {}
for row in data:
key, *values = row
csv_dict[key] = {key: value for key, value in zip(header, values)}
#insert name of file to be read by user
read_csv (task1.csv)
1条答案
按热度按时间rm5edbpk1#
为什么会出现这个错误,答案是
csv_list
是方法read_csv(file_name)
的局部变量。也许您不想设置该变量,而只想返回解析的结果。然后,您可以在调用该方法时获得所需的值。注意,您需要比当前更快地调用该方法。这将给予你一个字典,但我不确定它是以你可能想要的方式结构的,我希望在阅读CSV后得到一个字典列表,不是你正在产生的,但这是你的决定。
如果是我的话,我可能会做以下调整来得到一个基于列表的结果,同时我也会去掉像
*header
这样的东西: