gpt4 book ai didi

python - 对 CSV 列进行平均

转载 作者:行者123 更新时间:2023-11-30 23:30:10 24 4
gpt4 key购买 nike

我试图通过让函数读取文件然后吐出平均值来计算 csv 文件中第 4 列的平均值。该程序现在的工作方式是,每次运行时,您的答案都会附加到 csv 文件中。因此,要立即使用此代码,您必须运行它几次,或者只是创建 csv 文件并预先填充数据。最后几行带有“#”的代码是我现在正在处理的地方。

import csv
import datetime
# imports modules

now = datetime.datetime.now()
# define current time when file is executed

how = str(raw_input("How are you doing?"))
why = str(raw_input("Why do you feel that way?"))
scale_of_ten = int(raw_input("On a scale of 1-10. With 10 being happy and 1 being sad. How happy are you?"))
#creates variables for csv file

x = [now.strftime("%Y-%m-%d %H:%M"),how,why,scale_of_ten]
# creates list for variables to be written in

with open ('happy.csv','ab') as f:
wtr = csv.writer(f)
wtr.writerow(x)
f.close()

col = 4

values = []

stats = open('happy.csv')

with open('happy.csv','r') as f: #
for line in csv.readlines():#
elements = line.strip().split(',') #
values.append(int(elements[col]))#

csum = sum(values) #
cavg = sum(values)/len(values) #
print ("Sum of column %d: %f" % (col,csum)) #
print ("avg of column %d: %f" % (col, cavg)) #

但是,我按照此 example 收到此错误从顶部的第一个答案:

  File "stacked.py", line 28, in <module>
for line in csv.readline():#
AttributeError: 'module' object has no attribute 'readline'

感谢您提前提供的帮助。我很想跳进 Pandas 里。

最佳答案

错误非常明显:

AttributeError: 'module' object has no attribute 'readline'

csv是一个没有属性 readline 的模块。您需要做的是从 csv 文件中读取行,而不是从 csv 中读取行。模块

在第 28 行,您需要 for lines in f.readlines(): (因为 f 是您在第 27 行指定的名称)。

关于python - 对 CSV 列进行平均,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20793531/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com