从CSV文件中获取项目并将元素放入lis

2024-09-28 21:25:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我这里有一个CSV文件:http://www.filedropper.com/excel,看起来像这个http://pastebin.com/ammzv4FK。在

我想做的是:

取每年对应的行,找出月份中的数字,求和并分配给变量。在

所以第一年,2000年,名单如下:

year2000 = ['14744', '2947', '14905', '1748',  '2859',  '11778', '1453',  '5255', '14806', '1858', '10763', '6000']

一旦有了这个列表,我就可以将列表中的元素从字符串转换为整数,并使用sum()命令对它们求和。在

我可以打印出这些行,但排除年份号,然后将其余的存储到变量中遇到困难,因为我的列表如下所示:

^{pr2}$

作为一个大字符串,而不是单独的元素,我的列表一次打印出所有的年份,所以我似乎不知道如何将它们存储到变量中并分别合计它们。在

这是我的代码:

with open("file.csv","r") as f:
    for i in range(1): 
        next(f)
    for x in f:
        x=x.split()
        print (x)

但是当print(x)运行时,它会打印出所有的数据,那么我如何将每年的内容存储在一个变量中,而不包括实际的年份号呢?在

我用的是python3,谢谢。在


Tags: 文件csv字符串incomhttp元素列表
1条回答
网友
1楼 · 发布于 2024-09-28 21:25:13

如果你得到这样的行,你可能没有使用csv阅读器。您应该使用^{}模块,并将每一行存储在一个dict中,年作为键。只有当数据由整数组成时,这才有效。在

data = {}

with open("data.csv") as f:
    reader = csv.reader(f, delimiter="\t")
    reader.next() # Skip header
    for row in reader:
        row = list(map(int, row))
        data[row[0]] = row[1:]

要获得总和,请使用内置的sum函数。在

相关问题 更多 >