Выполнение практики по сбору информации из файла в matplotlib

Так что я новичок в 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'

Я не уверен, что я делаю неправильно и что означает эта ошибка. Любая помощь будет оценена.

2 ответа

Решение

Так что я понял, что происходит, в конце данных было несколько пустых строк, и мне просто нужно было изменить лену xAndY

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 это заканчивается линией.

Другие вопросы по тегам