質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.30%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

1回答

1170閲覧

Pythonでエクセルから日付を表示形式のまま取得する方法

yasumtakacs

総合スコア0

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2023/05/05 17:29

実現したいこと

お世話になります。
Pythonでエクセルのファイルからセルの値を取得する際に、
取得した値がdatetimeの場合、エクセルの表示形式通りの文字列として値を取得したいと思っております。


エクセルでの表示       取得したい値
令和5年5月5日(金) ---> 令和5年5月5日(金)

実際に取得される値は、日付だった場合
datetime.datetime(2023, 5, 5, 0, 0)
となります。

いろいろ調べたのですが解決に至っておりません。
初心者の質問でもうしわけありませんが、よろしくお願い致します。

前提

使用環境
OS:Windows11
Pythonのバージョン:Python 3.11.1

エクセルのセルの値は様々です。(文字列、数値、日付、他)
取得したい値はエクセルで見たときに表示されている状態のものです。

ヘディングのテキスト

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y_waiwai

2023/05/06 00:48

コードを提示しよう
meg_

2023/05/06 03:28

セルの表示形式を取得して変換してはどうでしょうか?
yasumtakacs

2023/05/07 00:21

コメント、ありがとうございます。 与えられるエクセルの表示形式が不明なため表示形式に応じた書式の条件分岐が大変そうですが、やってみます。
guest

回答1

0

日付を表示形式のまま取得する方法

この表現を見ると誤解があるのかも知れませんが、Excelファイルの中に記録されているのは日時に対応する実数値(シリアル値という)で、令和5年5月5日(金)という文字列ではありません。
合わせて表示形式がggge"年"m"月"d"日("aaa")"であるというのも記録されているので、両方を使って、自分で文字列に変換する必要があります。

エクセルのセルの値は様々です。(文字列、数値、日付、他)
取得したい値はエクセルで見たときに表示されている状態のものです。

取得した表示形式が「General」の場合は、上記のようには形式が明示されていないので、例えば実数値を有効数値何桁で文字列化するかなど、調べるて決める必要があるかと思います。
日付時刻の場合は、表示形式設定ダイアログで*2012/3/14のようにに「Windowsの地域と言語の設定に依存して表示する」となっている場合もあります。
ということで、記録されている表示形式文字列を無視して、自分で好きに文字列化するのが良い気がします。

Excelシートの形式を改編可能であれば、TEXTセル関数を使って文字列化した隠し列を作るのも手ですね。

投稿2023/05/06 09:03

otn

総合スコア86316

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yasumtakacs

2023/05/07 00:21

ご回答ありがとうございます。 表示形式を取得してそれに合うように書式を設定するようにするしかないということですね。 エクセルにはどんな表示設定がしてあるか分らない為、条件分岐が大変そうですが、やってみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.30%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問