1

次のエラーが生成されます。

ValueError: 時間データ '11/1/13' が形式 '%m/%d/%Y' と一致しません

私のデータの例。(形式 - 月、日、年の値)

12/27/13,311
12/28/13,283
12/29/13,285
12/30/13,285
12/31/13,252
1/1/14,245
1/2/14,245
1/3/14,245
1/4/14,245
1/5/14,246

私が持っているコードは、別の SOF 投稿で収集されました。

import csv
import datetime as dt
import matplotlib.pyplot as plt

arch = 'test.csv'
data = csv.reader(open(arch))

data = [(dt.datetime.strptime(item, "%m/%d/%Y"), float(value)) for item, value in data]
data.sort()
[x, y] = zip(*data)

fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(x, y)

ax.grid(True)
fig.autofmt_xdate()

plt.show()

日付形式でエラーがスローされるのはなぜですか?

4

1 に答える 1

3

あなたがしたい

dt.datetime.strptime(item, "%m/%d/%y")

docsから、世紀のある年 (1999、2000 など) は でフォーマットされ'%Y'ます。世紀のない年 (および 09、99、13 などの 1 桁の年には 0 が埋め込まれている) には、'%y'(小文字の y) を使用します。

于 2014-03-27T18:16:48.863 に答える