首页 > 解决方案 > Python:如何在跳过标题行的同时对 CSV 文件中的列求和

问题描述

尝试对顶部有标题行的 csv 文件中的列求和。我正在尝试使用这个 for 循环,但它只是返回零。有什么想法吗?

CSVFile = open('Data103.csv')
CSVReader = csv.reader(CSVFile) #you don't pass a file name directly to csv.reader
CSVDataList = list(CSVReader) #stores the csv file as a list of lists

print(CSVDataList[0][16])

total = 0
for row in CSVReader:
   if CSVReader.line_num == 1:
        continue 
        total += int(row[16])
print (total)

以下是 txt 中数据样本的样子: Value,Value,Value, "15,500.05", 00.00, 00.00 所以项目由 分隔,除非它们需要转义然后它是 ""。这是一个非常标准的文件,有一个标题行和 18 列的大约 1k 行数据。

标签: python-3.xcsv

解决方案


您可能想使用Pandas

import pandas as pd

df = pd.read_csv('/path/to/file.csv')
column_sum = df['column_name'].sum()

推荐阅读