-5

我有一个 csv 文件,我可以将它导入到程序中。我需要知道如何计算文件特定列的平均值。

4

3 回答 3

2
import csv
with open('your_csv.csv', 'rb') as f:
    reader = csv.reader(f)
    if your_file_has_a_header_row:
        next(reader)
    the_numbers = [float(row[col_index_you_want]) for row in reader]
    average = sum(the_numbers) / len(the_numbers)

如果使用 Python 3,请将 with 语句更改为

with open('your_csv.csv', newline='') as f:
于 2013-03-13T15:23:57.410 回答
0

首先,您可以从 column 获取数据:

columnNumber = 42
data = [float(l.split(';')[columnNumber]) for l in open('file.csv', 'r').readlines()]

然后计算平均值:

mean = sum(data) / len(data)

编辑:代码修复(来自 Steven Rumbalski)

于 2013-03-13T15:23:27.457 回答
0

您可以将此问题拆分为多个部分:

  1. 读取文件
  2. 分离出右列
  3. 计算总数
  4. 除以行数。

一次拿一条线,你应该没问题。Google 将帮助您了解详细信息,当您对任何部分有具体问题时,欢迎您回到 SO。

于 2013-03-13T15:21:58.363 回答