使用 Python 从文件导入数据时出现 ValueError
ValueError while importing data from a file using Python
我不断收到 ValueError: could not convert string to float:' '.
我使用的代码是:
import matplotlib.pyplot as plt
import numpy as np
X, Y = np.loadtxt('/Users/sul/Desktop/2,54,51PM.txt', delimiter=',', unpack=True)
plt.plot(X, Y)
plt.title('Line Graph using NUMPY')
plt.xlabel('X')
plt.ylabel('Y')
plt.show()
该文件包含两列和超过 1000 行,如下所示:
1413.541000000 0.001121856
1413.548812500 0.001122533
1413.556625000 0.001121994
1413.564437500 0.001120641
1413.572250000 0.001120932
我该怎么做才能解决这个问题?
看看你代码中的这一行:
X, Y = np.loadtxt('/Users/sul/Desktop/2,54,51PM.txt', delimiter=',', unpack=True)
如果您的数据文件看起来像您发布的示例,则没有使用逗号作为分隔符。
它似乎在查看这两个由 space 分隔的浮点值并将其解释为字符串。
您需要匹配分隔符。
嗯,显然这些值看起来不是 comma-separated,而是被单个 space 分隔,这会导致错误,因为值被解释为字符串。将 delimiter = ','
更改为 delimiter = ' '
,它应该可以工作。查看以下结果:
我不断收到 ValueError: could not convert string to float:' '.
我使用的代码是:
import matplotlib.pyplot as plt
import numpy as np
X, Y = np.loadtxt('/Users/sul/Desktop/2,54,51PM.txt', delimiter=',', unpack=True)
plt.plot(X, Y)
plt.title('Line Graph using NUMPY')
plt.xlabel('X')
plt.ylabel('Y')
plt.show()
该文件包含两列和超过 1000 行,如下所示:
1413.541000000 0.001121856
1413.548812500 0.001122533
1413.556625000 0.001121994
1413.564437500 0.001120641
1413.572250000 0.001120932
我该怎么做才能解决这个问题?
看看你代码中的这一行:
X, Y = np.loadtxt('/Users/sul/Desktop/2,54,51PM.txt', delimiter=',', unpack=True)
如果您的数据文件看起来像您发布的示例,则没有使用逗号作为分隔符。
它似乎在查看这两个由 space 分隔的浮点值并将其解释为字符串。
您需要匹配分隔符。
嗯,显然这些值看起来不是 comma-separated,而是被单个 space 分隔,这会导致错误,因为值被解释为字符串。将 delimiter = ','
更改为 delimiter = ' '
,它应该可以工作。查看以下结果: