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

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

新規登録して質問してみよう
ただいま回答率
85.46%
変数

変数は、プログラミングにおいて値や文字列などのデータを保持できる仕組みを指します。自由に名前を付けることができるため、管理しやすくなるのが特徴です。プログラムで変数の宣言を行い、値を代入して利用。保持したデータが通用する範囲でローカル変数とグローバル変数に分けられます。

Python

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

Q&A

解決済

1回答

1040閲覧

変数が入っているexcelのファイル名を指定してpythonでよみたい

Ksaman

総合スコア1

変数

変数は、プログラミングにおいて値や文字列などのデータを保持できる仕組みを指します。自由に名前を付けることができるため、管理しやすくなるのが特徴です。プログラムで変数の宣言を行い、値を代入して利用。保持したデータが通用する範囲でローカル変数とグローバル変数に分けられます。

Python

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

0グッド

1クリップ

投稿2021/04/30 01:00

変数が入っているファイル名読みたい

あるフォルダに数十個の.xlsxファイルが保存され英マス
名前にある程度規則性があります
a_b_12_2021043032145.xlsx

太字が変わらない、しかし毎日、太字のa_b_12のあとの 日付と何桁 の数字がかわります
別のプログラムで、その日のエクセルをよみにいかないといけないが指定の仕方をわかりません。教えて頂けませんか。初心者ですの簡単なコードでお願いします

試したこと

datetime_format = datetime.datetime(2021, 4, 30) #ここを毎日変えたいだけ
x=datetime_format.strftime("%Y%m%d")
file1 = r'C:/report/FG/a_b_12_' + x + * + '.xlsx' #ダメでした

file1 = r'C:/report/FG/a_b_12_' + x + r'[\d]+' + '.xlsx' #ダメでした

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

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

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

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

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

meg_

2021/04/30 02:13

> file1 = r'C:/report/FG/a_b_12_' + x + * + '.xlsx' #ダメでした 上記でfile1はどんな文字列になりましたか? また「#ダメでした」とは具体的にどうダメだったのでしょうか?何かエラーが発生したのでしょうか?
guest

回答1

0

ベストアンサー

「今日」は以下の方法で取得できます。

python

1date_now = datetime.datetime.now()

あとは「strftime()」で整形すればいいでしょう。

一部に不明な文字を含んだファイル名をワイルドカードで取得したいのであれば、globを使うのがいいと思います。

python

1import glob 2xl_files = glob.glob(r'C:/report/FG/a_b_12_' + date_today + '*.xlsx' )

xl_filesはリストで返ります。また、もしかすると複数入っているかもしれないと思って処理するべきです。
ちなみに、質問の中の式では、なぜか、「*」が「''」の外に出ているのが気になりました。

また、文字列の中に変数の値を入れたい場合、以下のようにしたほう読み易くなると思います。

python

1import glob 2xl_files = glob.glob(f'C:/report/FG/a_b_12_{date_today}*.xlsx' )

ファイル名などのパスを扱うのであれば、高機能な分、慣れが必要ですが、pathlibを使うのがお勧めです。
参考サイト

投稿2021/04/30 02:50

TakaiY

総合スコア12804

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問