如何用float变量打开文件?

时间:2019-06-11 08:30:51

标签: python csv

我是Python和编程的新手。 我正在尝试读取两行(x和y)中具有十进制数据的文件,并收到此错误:'无法将字符串转换为float:'#''。我该如何解决?

with open('file.txt','r') as csvfile:

...     plots=csv.reader(csvfile, delimiter=' ')

...     for row in plots:

...             x.append(int(float(row[0])))

...             y.append(int(float(row[1])))

...
  

回溯(最近通话最近一次):

     

文件“”,第

行第4行      

ValueError:无法将字符串转换为浮点数:“#”

编辑:上部已解决(感谢大家的快速响应!)。问题是该文件有一个标题行,我删除了它。当然,也可以从2nd开始打开文件。而且文件在列之间有两个空格而不是一个空格,所以我用记事本替换了字符,因为Python只允许一个字符长的定界符。

现在,我正在尝试绘制它,但又收到另一个错误“ x和y必须具有相同的第一尺寸,但具有形状”。代码中的基本错误是什么? 完整代码:

import matplotlib.pyplot as plt
import csv

x=[]
y=[]

with open('file.txt','r') as csvfile:
...     plots=csv.reader(csvfile, delimiter=' ')
...     for row in plots:
...             x.append(int(float(row[0])))
...             y.append(int(float(row[1])))
...

plt.plot(x,y, label='spectra')
  

ValueError:x和y必须具有相同的第一尺寸,但形状为(218605,)和(218604,)

文件有20万行,前5行是:

4066.46745678 0.794766
4066.49045678 0.979478
4066.51345678 0.837846
4066.53645678 0.935674
4066.55945678 0.91354

0 个答案:

没有答案