【问题标题】:How to convert a string list from csv file to float?如何将字符串列表从 csv 文件转换为浮点数?
【发布时间】:2017-03-29 21:56:32
【问题描述】:

我正在尝试将 csv 文件读取为这样的矩阵:

import csv
with open("data.csv", "r") as file:
    table = [line for line in csv.reader(file)]
    for line in table:
        print(line)

但是,我需要将列表的内容转换为浮点数。我尝试使用

转换为浮点数
table = [int(x) for x in table]

然而这是一个错误

TypeError: int() 参数必须是字符串或数字,而不是“列表”

如何解决这个问题?

【问题讨论】:

  • int(e) for e in lst
  • 请修正您的代码格式

标签: python-2.7 list csv matrix


【解决方案1】:

下面是一个简单的例子,如何将每行数据转换为float数字类型并进行一些计算:

假设 CSV 数据文件 data.csv 填充了一些 intsfloats

12,13,14,15,16
0.1,0.2,0.3,0.4,0.5
import csv
with open("./data.csv", "rU") as file:
    table = [line for line in csv.reader(file)]
    for line in table:
        numbers = [ float(x) for x in line ]
        sum = 0
        for number in numbers:
            sum = sum + number
        print(numbers)
        print "The sum of numbers is: ", sum

输出:

[12.0, 13.0, 14.0, 15.0, 16.0]
The sum of numbers is:  70.0
[0.1, 0.2, 0.3, 0.4, 0.5]
The sum of numbers is:  1.5

【讨论】:

    猜你喜欢
    • 2019-03-31
    • 1970-01-01
    • 2018-07-10
    • 1970-01-01
    • 2011-11-25
    • 1970-01-01
    • 2021-10-05
    • 2020-04-02
    • 2015-05-23
    相关资源
    最近更新 更多