[英]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.