numpy.loadtxt()中的转换错误

时间:2012-04-03 08:16:37

标签: python numpy

我正在尝试使用python matplotlib从文本文件中绘制两列,但我正在

  

ValueError:float()的文字无效:148.000000;

这是我的python脚本

import numpy as np
import matplotlib.pyplot as plt
x,y = np.loadtxt('sharma5.txt')
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(x,y)
plt.show()

这是我的文本文件的一部分

36.000000   61.000000
36.000000   61.000000
36.000000   148.000000;
36.000000   60.000000
36.000000   120.000000
36.000000   77.000000
36.000000   160.000000

提前致谢..

2 个答案:

答案 0 :(得分:1)

如果您不想修复数据文件,可以使用converters loadtxt选项删除任何无关的分号。像np.loadtxt("sharma5.txt", converters = {1: lambda s: float(s.strip(";"))})这样的东西应该有效。

答案 1 :(得分:0)

问题是文本文件中的分号,该分号无法识别为转换为数字的合法字符。修复生成该文本文件的程序中的错误。