从csv python中提取浮点数

时间:2018-02-05 11:18:01

标签: python csv floating-point

我有一个像这样的csv文件(name,floatNumber):

quirrell,0,000281885
flamel,0,000175286
quirrells,0,000154252

我想从中得到所有浮点数。

for filename in os.listdir('output'):
    with open("output/"+filename, 'rt') as csvfile:
        readCSV = csv.reader(csvfile, delimiter=',')
        for row in readCSV:
            print(row[0],row[1],row[2])

使用delimiter=',',我有这个输出

quirrell 0 000281885
flamel 0 000175286
quirrells 0 000154252

数字被拆分的地方。 如何获得此输出并将所有浮点数放在某些变量中?

quirrell, 0,000281885
flamel 0,000175286
quirrells 0,000154252

2 个答案:

答案 0 :(得分:1)

您可以在加入字符串对象后将其转换为浮点数

<强>实施例

print(row[0],float(".".join([row[1],row[2]])))

答案 1 :(得分:1)

在这种情况下,您可能会发现不使用CSV库更容易:

with open('input.csv', 'r') as f_input:
    for row in f_input:
        name, value = row.strip().split(',', 1)
        value = float(value.replace(',', '.'))
        print(name, value)

这会显示:

quirrell 0.000281885
flamel 0.000175286
quirrells 0.000154252