我想让python读取一个包含整数行的csv文件。我想从CSV文件的每一行获取元素,并将它们放入一个列表中,然后将所有列表用作字典中键的值:
期望输出:
{'2020-12-20': ['0', '0', '0', '0', '206'], '2020-12-27': ['0', '0', '0', '0', '1,799'], '2021-01-03': ['0','0', '0', '0', '3,787']}
要做到这一点,我需要在逗号处分割每一行。然而,其中一些整数实际上是字符串,比如"1,799"
。因此,通过在逗号处分隔每行,我将把"1,799"
分解为"1
和799"
如果我有一个csv的数据像这样的2020-12-27,0,0,0,0,"1,799",
在每一行,我如何分割数据,这样我得到'1,799'
而不是"1
和799"
?
如何使用csv模块??
您可以使用csv
模块:
如果data.csv
包含:
2020-12-27,0,0,0,0,"1,799"
2020-12-28,1,2,3,4,"2,800"
:
import csv
all_data = {}
with open("data.csv", "r") as f_in:
reader = csv.reader(f_in, delimiter=",", quotechar='"')
for line in reader:
all_data[line[0]] = line[1:]
print(all_data)
打印:
{
"2020-12-27": ["0", "0", "0", "0", "1,799"],
"2020-12-28": ["1", "2", "3", "4", "2,800"],
}