私はフォーマットされたデータをcsvファイルからのラインプロットを作成しようとしています:のPython:matplotlibのラインプロットのx軸上のタイムスタンプエラー
Time,Temp
05 Oct 4:35 pm,68
05 Oct 4:30 pm,68
05 Oct 4:20 pm,68
私が使用したコードは次のとおりです。
import matplotlib.pyplot as plt
import csv
x = []
y = []
with open('time_temp.csv', 'r') as csvfile:
plots = csv.reader(csvfile, delimiter=',')
for row in plots:
x.append(int(row[0]))
y.append(int(row[1]))
plt.plot(x, y, label='Loaded from file')
plt.xlabel('Timestamp')
plt.ylabel('Temperature')
plt.title('Temperature by Timestamp')
plt.legend()
plt.show()
私は、これはタイムスタンプ形式によるものであるが、それを変換する方法を知っていないと信じて
Traceback (most recent call last):
File "visualizingdata.py", line 12, in <module>
x.append(int(row[0]))
ValueError: invalid literal for int() with base 10: 'Time'
:
は、しかしそれは、このエラーを生成します。
助けてください。ありがとうございました。あなたのプログラムの最初の問題は、あなたがint
コマンドを使用してint
にファイルヘッダ内の文字列を変換しようとしているということです
with open('time_temp.csv', 'r') as csvfile:
plots = csv.reader(csvfile, delimiter=',')
plots.next()
for row in plots:
temp = row[0].split()
x.append(int(temp[0]))
y.append(int(row[1]))
:ここ
私の答えはあなたの即時のエラーを解決しますが、私はそれが実際にあなたの問題を解決しないと思いますか? – atru