2017-05-12 9 views
2

私はUNIXの日付を標準の米国日付形式に変換するコードを持っています。それはExcelで正しく表示されますが、Excelは日付として認識しません。Excelはopenpyxlを使って日付を認識しません

if str(startdate).isdigit(): 
    startdate = int(startdate) 
    date = datetime.datetime.fromtimestamp(int(startdate)).strftime('%m/%d/%Y') 
    ws4.cell(row=cell.row,column=2).value = date 
    ws4.cell(row=cell.row,column=2).number_format = 'MM DD YYYY' 

テキストではなく日付としてこれを見るにはどうすればいいですか?

+0

'date = int(startdate)'は、日付が数字であることを確認します。 2行目のコードでは、その数値を文字列に変換しようとします。これを 'Format'関数で文字列として表示したい数値として読み込みたいとします。 Excelセルが元の番号を保持する場合は、設計したフォーマットを適用することができ、正しく表示されるはずです。 – Variatus

+1

タイムスタンプを変換して、 'int()'を2回呼び出す必要がなくなったら、ただ停止してください。 –

答えて

1

私の間違いは、下の行が日付を作成したと仮定していました。ドキュメントに進出した後

date = datetime.datetime.fromtimestamp(int(startdate)).strftime('%m/%d/%Y') 

(noobのための地獄のように怖い。それは簡単に取得していますか?)私は.strftime('%m/%d/%Y')が文字列でない日を作成しまし実現。

私が使用して、日付にその文字列を変換:

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

は今日付として認識優れています。

これは今後のお役に立てば幸いです。

関連する問題