因此,我编写了这段代码,其目的是读取CSV文件并将数据写入带有键"key1""key2""key3""key4"的字典,这些键的值以列表的形式给出,该列表由CSV文件的列中的数据组成,但进行了一些修改:
import numpy as np
import csv
#code
...
#code
with open(file,'r') as fl:
csv_file=csv.DictReader(fl)
fdata={
'key1':[data['THING'] for data in csv_file],
'key2':[f"{data['STR1']}, {data['STR2']}, {data['STR3']}" for data in csv_file],
'key3':[np.array([data['FL1'],data['FL2']],dtype=float) for data in csv_file],
'key4':[int(data['POPULATION']) for data in csv_file]
}
问题是,除了第一个列表之外,所有的列表都是空的,第一个列表的键值为"key1",即使当删除"key4"中的类型转换时,它也不起作用,最初我认为这与NumPy、类型转换或字符串格式有关,但我不知道哪里错了,网上有很多这样的例子,使用print()调试表明数据正在被读取.我不知道在这里该怎么办.
我还确定CSV文件"Thing"、"str1"、"str2"、"str3"、"fl1"、"fl2"的键是正确的.另一件事是CSV文件很大,但不是数百万行长,