

下記のコードを使って  
テキストの文字列から日付の型へ変更したいですが、  
別の日付のフォーマットになってしまいます。  
同じ日付のフォーマットにするにはどのようにすれば良いでしょうか。

**実現したい内容**  
テキストの文字列をエクセルへ保存し、  
文字列から日付の型へ変更したいです。

テキスト

[code]

    国,日付
    アメリカ,22/6/21
    ,2022/7/1
    ,2022/8/6
    ,22/4/29
    カナダ,2022/7/5
    
[/code]

**実現したい結果**

[code]

    国,日付
    アメリカ,2022/6/21
    ,2022/7/1
    ,2022/8/6
    ,2022/4/29
    カナダ,2022/7/5
    
    国      object
    日付    datetime64[ns]
    dtype: object
    
[/code]

**現在の処理**

[code]

    国,日付
    アメリカ,2021-06-22 00:00:00
    ,2022-07-01 00:00:00
    ,2022-08-06 00:00:00
    ,2029-04-22 00:00:00
    カナダ,2022-07-05 00:00:00
    
    国      object
    日付    datetime64[ns]
    dtype: object
    
[/code]

どのように日付型に変更すれば良いでしょうか。  
ご教授の程お願いします。

コード

[code]

    import pandas as pd
    from datetime import datetime as dt, date, timedelta
    
    
    input_folder=r"C:\Users\user\Documents\excel\test.txt"
    output_folder=r"C:\Users\user\Documents\excel\test1.xlsx"
    
    df = pd.read_table(input_folder,encoding='utf_8',sep=',')
    #print(df.dtypes)
    
    #指定のフォーマットで文字列
    df['日付']=pd.to_datetime(df['日付']).dt.strftime("%Y/%#m/%#d").fillna('')
    print(df.dtypes)
    
    #指定のフォーマットで日付型
    df['日付'] = pd.to_datetime(df["日付"],format="%Y/%m/%d")
    print(df.dtypes)
    
    df.to_excel(output_folder,encoding='utf_8_sig',index=False)
    
[/code]


CC BY-SA 4.0
2022-10-22T11:31:19.450
91741
2022-10-22T12:18:32.943
18859
question
python python3
Pythonで文字列から日付の型へ変更したい


`pd.ExcelWriter`の引数`date_format`および`datetime_format`に書式を設定すれば良いかと思います。

[code]

    with pd.ExcelWriter("test2.xlsx", date_format="YYYY/MM/DD", datetime_format="YYYY/MM/DD") as writer:
        df.to_excel(writer)
    
[/code]

[pandas.ExcelWriter](https://pandas.pydata.org/pandas-
docs/stable/reference/api/pandas.ExcelWriter.html#pandas-excelwriter)


CC BY-SA 4.0
2022-10-22T12:18:32.943
91742
2022-10-22T12:18:32.943
39819
91741
answer