M/D/YYYY 形式の日付を持つ csv を取得し、xlwt で生成された .xls ファイルの日付と一致させる Python スクリプトを作成しました。なぜ一部の日付のみが一致するのか疑問に思っていたのですが、一致した日付は 10 文字の長さの文字列 (2011 年 11 月 14 日) と 10 文字ではない日付 (2011 年 1 月 14 日または 1) だけであることに気付きました。 /7/2012) は一致しませんでした。日付を 10 文字の長い文字列で保存する csv ファイルを取得するにはどうすればよいですか? または、csv ファイルを txt ファイルに変換する必要がありますか?
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/2012
を01/07/2012
に変換しdatetime.date(2012, 1, 7)
、そのインスタンスの 2 つのコピーはdate()
等しいものとして比較されます。
于 2012-12-27T14:35:12.117 に答える