0

M/D/YYYY 形式の日付を持つ csv を取得し、xlwt で生成された .xls ファイルの日付と一致させる Python スクリプトを作成しました。なぜ一部の日付のみが一致するのか疑問に思っていたのですが、一致した日付は 10 文字の長さの文字列 (2011 年 11 月 14 日) と 10 文字ではない日付 (2011 年 1 月 14 日または 1) だけであることに気付きました。 /7/2012) は一致しませんでした。日付を 10 文字の長い文字列で保存する csv ファイルを取得するにはどうすればよいですか? または、csv ファイルを txt ファイルに変換する必要がありますか?

4

1 に答える 1

4

csv日付について何も知りません。テキストを読むだけです。文字列を他の文字列と比較しており、'1/7/2012''01/07/2012'はまったく異なる文字列です。

読むときに、日付を比較できるものに解析する必要があります。datetime.datetime.strptime()そのために関数を使用します。

import datetime

dt = datetime.datetime.strptime(datecolumn, '%m/%d/%Y').date()

上記のstrptime()形式は と の両方1/7/201201/07/2012に変換しdatetime.date(2012, 1, 7)、そのインスタンスの 2 つのコピーはdate()等しいものとして比較されます。

于 2012-12-27T14:35:12.117 に答える