
pythonでExcelファイルを読み込む時、日付データが「2022-12-28 00:00:00」となってしまいます。
「2022/12/28」形式にしたいのですが、
ファイルを読み込む際に表示形式を指定、または、読み込んでから一括変換を行いたいです。
日付データですが、列で日付が並んでいるのではなく、行で並んでおります。
[df['A']=pd.to_datetime((df['A']), format='%Y%m%d')]
列だと上記でできると思うのですが、行だとどのようにすればよろしいでしょうか。
ご教示いただけますと幸いでございます。
何卒、宜しくお願いいたします。
No.2ベストアンサー
- 回答日時:
うーん、タイトル列に文字列と日付が混じっているのですね。
タイトル行の書き換えを下記のようにしてみてください。
df.columns=list(df.columns[:6])+list(map(lambda x:x.strftime('%Y/%m/%d'),df.columns[6:]))
あるいは、先に
import datetime
しておいて
df.columns=list(map(lambda x:x.strftime('%Y/%m/%d') if type(x)==datetime.datetime else x,df.columns))
後者の方法だとタイトル行に文字列と日付が任意に混じっていても全て文字列に変換されます。
文字列と日付が混じっているとよくないのですね……
両方とも「'Index' object is not callable」のエラーが出てしまいます。
前者は「list(df.columns[:6])」、
後者は「list(map(lambda x:x.strftime('%Y/%m/%d') if type(x)==datetime.datetime else x,df.columns))」
の部分で発生していると思われます。
データの型がおかしいのかと思いますので確認してみます。
ありがとうございます。
No.1
- 回答日時:
うーん、ExcelファイルをPythonの何で読み込んでいるんですかね。
dfとかpdと書いているしimport pandas as pd
df = pd.reaqd_excel('A.xlsx')
のような感じでしょうか。
それで日付データが入っているのは最初の行でしょうか。
そうすると日付データはdfの列名で、df.columnsはDatetimeIndex型で各要素はdatetime64[ns]型です。ただしdf.columns[0]のように要素を取るとpd.Timestamp型になります。どれも文字列型ではないので'2022-12-28 00:00:00'や'2022/12/28'のような形式には意味がありません。文字列としての書式は文字列かする際に考えることになります。
なお
df.columns=df.columns.strftime('%Y/%m/%d')
のように変換するとdf.columnsはIndex型になり、各要素はobject型になります。このobjectは'2022/12/28'形式の文字列です。これがご所望の結果と思います。
なお日付が入っているのが最初の行でない場合はまた異なりますので補足ください。
ご回答ありがとうございます。
説明不足で申し訳ございません。
pandasでExcelを読み込んでおります。
import pandas as pd
df = pd.read_excel('A.xlsx')
df.columns=df.columns.strftime('%Y/%m/%d')
とすると、
'Index' object has no attribute 'strftime'
のエラーがでてしまいます。
A.xlsxの中身は1行目のA~E列まで文字列が入っており、
F列は空白G~NG列まで日付が入っております。(1年分の日付)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) wordの差し込み印刷での日付表示 2 2023/08/15 16:51
- Excel(エクセル) csvファイルをExcel形式で読み込むには 2 2023/07/03 13:09
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- その他(プログラミング・Web制作) Pythonで、データファイルと列名ファイルを1つのファイルにしたいです。 1 2023/07/27 20:29
- Visual Basic(VBA) Excel VBA 書式変更で困ってます。 オートフィルターの日付フィルターを用いて データの絞り込 2 2022/07/26 22:16
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- C言語・C++・C# pythonのファイルの並びでの読み込みとリストについて 4 2022/04/13 03:52
- XML エクセルのマクロについて教えてください。 3 2023/02/06 09:06
- Excel(エクセル) Excelの並び替え(先頭の文字以外を基準に並び替えたい) 3 2023/07/07 22:21
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッファとは何ですか
-
Microsoft VBAで2GBを超えるフ...
-
入力ファイルをバイナリにする利点
-
ページ読み込み時に自動的にsub...
-
エラー:ストリームの終わりを...
-
バイナリーデータの一部データ...
-
C言語の質問です。バイナリ形...
-
画像の保存方法。
-
【Teraterm】filewritelnについて
-
ROM書き込みデータのファイル形...
-
wave形式(*.wav)のフォーマット...
-
エクセルVBA 2千万行のCSVファ...
-
FTPを使わないファイルアップロ...
-
24ビットのWaveデータの中身に...
-
バイナリファイルの検索について
-
= (イコール)で始まるセルの値...
-
【python】Excelファイルを読み...
-
C言語初心者の質問失礼します。
-
どんなプログラムを書いても指...
-
FTPでputすると空ファイルが出...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッファとは何ですか
-
Microsoft VBAで2GBを超えるフ...
-
EXCEL VBAでテキストファイルの...
-
VBA バイナリ―から文字列にす...
-
エラー:ストリームの終わりを...
-
ページ読み込み時に自動的にsub...
-
EOF
-
エクセルVBA 2千万行のCSVファ...
-
入力ファイルをバイナリにする利点
-
【Teraterm】filewritelnについて
-
【python】Excelファイルを読み...
-
EXCEL VBAで、バイナリデータの...
-
FTPでエクセルをPUTするとファ...
-
テキストデータをSQLServerに取...
-
C言語とシリアル通信の送受信...
-
ビットマップファイル生成(C言...
-
pcxファイルを開きたい(RGBデ...
-
FTPを使わないファイルアップロ...
-
MacからWinにファイルを添付す...
-
HDDのバイナリイメージの取得方...
おすすめ情報