我需要导入一个csv文件,其中包含大约1.000.000个数字。它们都用小数(,)分隔,所以:1,2,3,4,...
他们只是在文件中轻松订购:没有空白没有段落。
这是我的实际代码:
import statistics
import csv
with open('test.csv', 'r') as f:
reader = csv.reader(f)
zahlenliste = list(reader)
print(zahlenliste)
# x = statistics.mean(zahlenliste)
# print(x)
我尝试了很多代码,就像在stackoverflow上一样,但是我无法在没有任何错误的情况下执行它。
列表中的所有数字,我希望算术平均值作为结果(在评论中是实际的)。使用print(zahlenliste)我想查看列表的内容实际上是什么样子:
[['1', '2', '3', '4', '5']]
你愿意帮助我,只需添加正确的函数将数字导入为float,以便在arithmetic.mean函数中使用它吗?
答案 0 :(得分:2)
zahlenliste
中的项目是字符,您需要将它们转换为数字(int
或float
)。 list comprehension在这里派上用场了:
zahlenliste = [[int(item) for item in line] for line in reader]
现在你有一个列表列表:内部列表包含一行的值,外部列表代表行。 如果您需要计算每一行的平均值,请使用另一个列表推导:
mittelwerte = [statistics.mean(line) for line in zahlenliste]