web-dev-qa-db-ja.com

Python-配列内の文字列を日付に変換する

TXTファイルから文字列の配列を読み取り、そのような行を使用して(1000以上の値の)配列として保存しました。

dates = np.genfromtxt('filename.txt', delimiter=";", usecols=(0), dtype=None)

次に、文字列を日付に変換したいと思います。私は次の行を使用しようとしました:

dates2 = dt.datetime.strptime([dates], '"%Y-%m-%d"').date()

ただし、エラーが発生しました:

TypeError:リストではなく文字列でなければなりません

私はそのようなコードがうまく機能することを理解しました:

data1='"2010-02-28"'
data1_1 = dt.datetime.strptime(data1, '"%Y-%m-%d"').date()

上記の問題にどのように対処すればよいですか?

8
kaksat

今後の読者への注記:この回答は編集しないでください。 '"%Y-%m-%d"'は間違いではありません。 OPの日付は引用符で囲まれています。


datesは文字列のリストです。したがって、その要素から日付のリストを作成する場合:

dates_list = [dt.datetime.strptime(date, '"%Y-%m-%d"').date() for date in dates]

この行は、datesリストの文字列を反復処理し、リスト内包表記を使用して日付の新しいリストを作成します。

13
DeepSpace