0

だから私は、テキストファイルからデータをインポートし、これまでに持っていたものをmatplotlibでグラフ化するコードを作成しようとしています:

import matplotlib.pyplot as plt


x = []
y = []

readFile = open ('C:/Users/Owner/Documents/forcecurve.txt', 'r')

sepFile = readFile.read().split('\n')

readFile.close()

for plotPair in sepFile:
    xAndY = plotPair.split('\t')
    x.append(int (xAndY[0]))
    y.append(int (xAndY[1]))
print x
print y

plt.plot (x, y)



plt.xlabel('Distance (Nanometers)')
plt.ylabel('Force (Piconewtons)')

plt.show()

これを実行すると、エラーが発生します

ValueError: invalid literal for int() with base 10: '1,40.9'
4

1 に答える 1

0

ファイル1,40.9はタブ区切りではなくコンマ区切り ( ) のように見えるため、タブではなくコンマで分割する必要があります。変化する

    xAndY = plotPair.split('\t')

    xAndY = plotPair.split(',')

csvまたは、モジュールを使用してファイルを読み取る方が簡単な場合があります。簡単な例として:

import csv

readFile = open ('C:/Users/Owner/Documents/forcecurve.txt', 'r')

x = []
y = []

r = csv.reader(readFile)
for x1, y1 in r:
    x.append(int(x1))
    y.append(int(y1))

readFile.close()
于 2013-06-27T01:31:41.140 に答える