ValueError:无法将字符串转换为浮点数:“nbformat”:4
问题描述:
经过一段长时间的计算后,我得到了包含以下字符串的文件。ValueError:无法将字符串转换为浮点数:“nbformat”:4
(每个字符串用“\ t”的分离,并具有“\ n”个在每一行的末尾。)
0.0000008375000 829.685601736 555.939928236
0.0000008376000 829.511081539 555.889353246
0.0000008377000 829.336613968 555.838785601
0.0000008378000 829.162199002 555.7882253
0.0000008379000 828.987836621 555.737672342
0.0000008380000 828.813526805 555.687126727
0.0000008381000 828.639269533 555.636588453
然后我试图绘制这些文件。 (该文件的名称以P开头)
fList = np.array(gl.glob("P*"))
for i in fList:
f = open(i, "r")
data = f.read()
data = data.replace("\n", "\t")
data = np.array(data.split("\t"))[:-1].reshape(-1,3)
plt.plot(data[:,0], data[:,1], label=i)
然后我结束了以下错误。
(错误指针指示这发生在线路plt.plot(数据[:,0],数据[:,1],标记= 1))
ValueError: could not convert string to float: "nbformat": 4,
我已经看了一些其他的教程或演练,但不幸的是,无法理解如何解决这个问题。任何帮助或建议将非常感激。
答
您可以直接使用numpy的文件中读入三个数组:
import numpy as np
import matplotlib.pyplot as plt
from glob import glob
fList = glob("P*")
for i in fList:
x,y,z = np.loadtxt(i, unpack=True)
plt.plot(x,y, label=i)
plt.legend()
plt.show()
或者一个阵列为此事'数据= np.loadtxt(我)' – jadsq
谢谢ImportanceOfBeingEmest和jadsq! 我发现问题是文件名本身:(。 代码工作正常。我已更改文件名明确具有唯一的名称,以便它不会干涉任何操作。 –
哦,谢谢你的类更新。我想我会接受答案,显然不是。 –