繁体   English   中英

无法将制表符分隔的值从字符串转换为浮点数

[英]Can't convert tab-delimited values from string to float

my.dat 文件中的数据排列如下:

1.5     673.68709333206604217
4.5     284.69148000018861264
7.5     120.2999666666908732

我正在尝试 plot 与 matplotlib。 下面是读取数据的代码:

with open ('Sizedist_N10000_a0.1_t6500_E100000_n1.dat', 'r') as csvfile:
    plots = csv.reader(csvfile, delimiter = '\t')
    for row in plots:
        x.append(float(row[0]))
        y.append(float(row[1]))

但它显示错误: ValueError: could not convert string to float: '1.5 673.68709333206604217'

我能做些什么?

发生这种情况是因为该文件不是逗号分隔的文件。
此外,为了仍然提取数据,您还没有将行拆分为单独的值

相反,您可以使用 split() function 连续获取单个值

with open ('Sizedist_N10000_a0.1_t6500_E100000_n1.dat', 'r') as csvfile:
    plots = list(csv.reader(csvfile, delimiter = '\n'))
    print(plots)
    for plot in plots:
        rX, rY = plot[0].split()
        x.append(float(rX))
        y.append(float(rY))

暂无
暂无

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

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