我是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