1

テキストファイルからデータをプロットしようとしています。

私のデータは次の形式です。

2 - 5 6 6
4 - 5 6 7
6 - 5 6 3
8 - 5 6 3 
1 0 - 5 6 4 
1 2 - 5 6 4 
1 4 - 5 6 3

問題のエラーまでの私の端末レポートは次のとおりです。

>>> from matplotlib import pyplot
>>> 
>>> time = []
>>> value = []
>>> 
>>> source = open("textfile6.txt", "r")
>>> 
>>> for line in source:
...     line.replace(' ', '')
...     t, v = line.split('-')
...     time.append(int(t))
...     value.append(int(v))
... 
'2-566\n'
Traceback (most recent call last):
  File "<stdin>", line 5, in <module>
ValueError: invalid literal for int() with base 10: '5 6 6\n'

したがって、論理的根拠は、空白を削除するために str.replace(' ', '') を使用することです (str.strip() は何らかの理由でこれを達成していませんでした!)。次に、 str.split('-') で列を分割します。

しかし、私は取得し続けます:

ValueError: invalid literal for int() with base 10: '5 6 6\n'

..あたかも空白が魔法のように 2 番目の文字列に戻ってきたかのように。

4

2 に答える 2