在matplotlib中练习从文件中获取信息

2024-06-01 12:54:30 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我对matplotlib还不熟悉,我使用了一个youtube视频,然后重新创建它的代码,看看它是否适合我。代码如下:

import numpy as np
import matplotlib.pyplot as plt

x=[]
y=[]
readFile = open('attempt2.txt', 'r')
sepFile= readFile.read().split('/n')
readFile.close()

for batman in sepFile:
    xAndy = batman.split(',')
    x.append(int(xAndy[0]))
    y.append(int(xAndy[1]))

print x
print y

plt.plot(x,y)

plt.title('attempt 2')
plt.xlabel('attempt 2 x')
plt.ylabel('attempt 2 y')

plt.show()

运行此代码时,错误显示:

Traceback (most recent call last):
File "attempt_2.py", line 13, in <module>
y.append(int(xAndy[1]))
ValueError: invalid literal for int() with base 10: '5\n2'

我不确定我做错了什么,这个错误意味着什么。任何帮助都将不胜感激


Tags: 代码inimportformatplotlibaspltint
2条回答

所以我知道发生了什么,在数据的末尾有一些空行,我只需要修改xAndY的len

for plotpair in sepFile:
xandy = plotpair.split(',')
if len(xandy)>1:
    x.append(int(float(xandy[0])))
    y.append(int(float(xandy[1])))

这解决了问题

你犯了一个很容易被忽略的错误,那就是把\/字符弄错了。文件读取行应该看起来像sepFile = readFile.read().split('\n'),因为它是\n,而不是/n结束一行

相关问题 更多 >