繁体   English   中英

将CSV导入为列表中的float(Python 3.5)

[英]Import CSV as float in a List (Python 3.5)

我需要导入一个包含约1.000.000数字的csv文件。 它们都用小数点(,)分隔,因此: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以便在算术.mean函数中使用它吗?

zahlenliste中的项目是字符,您需要将它们转换为数字( intfloat )。 列表理解在这里很方便:

zahlenliste = [[int(item) for item in line] for line in reader]

现在您有了一个列表列表:内部列表包含一行的值,外部列表代表这些行。 如果需要计算每行的平均值,请使用另一种列表理解:

mittelwerte = [statistics.mean(line) for line in zahlenliste]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM