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

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

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

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

Q&A

解決済

3回答

1726閲覧

連番ファイルの読み込みについて

sham0909

総合スコア27

Python

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

0グッド

0クリップ

投稿2018/12/07 08:31

編集2018/12/09 11:04

お世話になります

A011.csv A021.csv・・・A201.csvという連番のファイルが20個あった場合、「A」の横の「0」が邪魔で、以下のように2つに分けて連続で読み込ませています。これを1つにまとめる方法等、何かいい案がありましたらご教示お願いいたします。

よろしくお願いいたします。

python

1for m in range(1,10): 2 data="・・・\A0%d1.csv"%(m) 3456for n in range(10,21): 7 data="・・・\A%d1.csv"%(n) 8910

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

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

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

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

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

can110

2018/12/07 08:50

「ファイルが20個あった場合~」とありますが提示ソースでは19個(・・・\A091.csvがない)ですが、どちらが正しいですか?
sham0909

2018/12/09 11:06

コードが間違っていました。ご指摘ありがとうございました。実際には20個のファイルが連番であります。
guest

回答3

0

ベストアンサー

ゼロ埋め二ケタを指定すれば良いです。

Python

1>>> for m in range(1, 21): 2... data = "・・・\A%02d1.csv"%(m) 3... print(data) 4... 5・・・\A011.csv 6・・・\A021.csv 7・・・\A031.csv 8・・・\A041.csv 9・・・\A051.csv 10・・・\A061.csv 11・・・\A071.csv 12・・・\A081.csv 13・・・\A091.csv 14・・・\A101.csv 15・・・\A111.csv 16・・・\A121.csv 17・・・\A131.csv 18・・・\A141.csv 19・・・\A151.csv 20・・・\A161.csv 21・・・\A171.csv 22・・・\A181.csv 23・・・\A191.csv 24・・・\A201.csv

新しい機能を積極的に使うなら、こう書いても良いでしょう。

Python

1>>> for m in range(1, 21): 2... data = rf"・・・\A{m:02d}1.csv" 3... print(data) 4... 5・・・\A011.csv 6・・・\A021.csv 7・・・\A031.csv 8・・・\A041.csv 9・・・\A051.csv 10・・・\A061.csv 11・・・\A071.csv 12・・・\A081.csv 13・・・\A091.csv 14・・・\A101.csv 15・・・\A111.csv 16・・・\A121.csv 17・・・\A131.csv 18・・・\A141.csv 19・・・\A151.csv 20・・・\A161.csv 21・・・\A171.csv 22・・・\A181.csv 23・・・\A191.csv 24・・・\A201.csv

投稿2018/12/07 08:39

編集2018/12/07 08:40
LouiS0616

総合スコア35660

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

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

sham0909

2018/12/09 11:07

回答ありがとうございました。 参考にさせていただきます。
guest

0

1つのforループにまとめるなら以下でどうでしょうか。

Python

1for m in range(1,9): 2 print("・・・\A0%d1.csv"%(m)) 3for n in range(10,21): 4 print("・・・\A%d1.csv"%(n)) 5""" 6・・・\A011.csv 7・・・\A021.csv 8・・・\A031.csv 9・・・\A041.csv 10・・・\A051.csv 11・・・\A061.csv 12・・・\A071.csv 13・・・\A081.csv 14・・・\A101.csv 15・・・\A111.csv 16・・・\A121.csv 17・・・\A131.csv 18・・・\A141.csv 19・・・\A151.csv 20・・・\A161.csv 21・・・\A171.csv 22・・・\A181.csv 23・・・\A191.csv 24・・・\A201.csv 25""" 26 27for m in (list(range(11,91,10)) + list(range(101,211,10))): 28 print("・・・\A%03d.csv"%(m)) 29""" 30・・・\A011.csv 31・・・\A021.csv 32・・・\A031.csv 33・・・\A041.csv 34・・・\A051.csv 35・・・\A061.csv 36・・・\A071.csv 37・・・\A081.csv 38・・・\A101.csv 39・・・\A111.csv 40・・・\A121.csv 41・・・\A131.csv 42・・・\A141.csv 43・・・\A151.csv 44・・・\A161.csv 45・・・\A171.csv 46・・・\A181.csv 47・・・\A191.csv 48・・・\A201.csv 49"""

投稿2018/12/07 08:45

can110

総合スコア38262

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

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

sham0909

2018/12/09 11:06

回答ありがとうございました。コードがすっきりできそうです。
guest

0

for m in range(1,21):
data="・・・\A%02d1.csv"%(m)

投稿2018/12/07 08:41

kawai2000

総合スコア25

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

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

sham0909

2018/12/09 11:08

回答ありがとうございました。コードをすっきりさせるためには種類をもっと多く知る必要がありますね・・・。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問