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

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

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

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

Q&A

解決済

1回答

684閲覧

別々のディレクトリにあるエクセルをそれぞれ連続的にマージさせたい

kagobito

総合スコア19

Python

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

0グッド

1クリップ

投稿2019/02/20 00:50

編集2019/02/20 00:52

別々のディレクトリ(例えば、フォルダA、フォルダB、フォルダC)があります。
そのディレクトリ内にはそれぞれ以下のファイルがあります。

それらのエクセルファイルを1回の実行でマージ処理を連続的に行い、生成したマージデータをファイルCに格納したいです。

(実行前)
フォルダA
・日本.xlsx
・アメリカ.xlsx
・中国.xlsx

フォルダB
・Japan.xlsx
・America.xlsx
・China.xlsx

フォルダC(空)

(実行後)
フォルダA
・日本.xlsx
・アメリカ.xlsx
・中国.xlsx

フォルダB
・Japan.xlsx
・America.xlsx
・China.xlsx

フォルダC
・日本.xlsxとJapan.xlsxのマージファイル
・アメリカ.xlsxとAmerica.xlsxのマージファイル
・中国.xlsxとChina.xlsxのマージファイル

glob関数とfor文を2回繰り返しましたが、うまく対応したマージができません。
ご教示お願い致します。

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

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

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

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

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

can110

2019/02/20 02:33

どうマージしたいのか、現状のソースコード、何がどううまくいかないのかなど前提を詳しく記載ください。
kagobito

2019/02/20 07:20

大変失礼致しました。今後の質問においては、記載して行きたいと考えています。 申し訳ございません。
guest

回答1

0

ベストアンサー

対象となるファイルが明確なのであれば、無理にglob を使わずに、ファイル名を直接コードに埋め込めばよいだけではないでしょうか

Python

1import pandas as pd 2import os 3 4IN_FOLDER1 = 'フォルダA' 5IN_FOLDER2 = 'フォルダB' 6OUT_FOLDER = 'フォルダC' 7 8input_files1 = [ 9 '日本.xlsx', 10 'アメリカ.xlsx', 11 '中国.xlsx'] 12 13input_files2 = [ 14 'Japan.xlsx', 15 'America.xlsx', 16 'China.xlsx'] 17 18output_files = [ 19 '日本.xlsx', 20 'アメリカ.xlsx', 21 '中国.xlsx'] 22 23for file1, file2, out in zip(input_files1,input_files2,output_files): 24 df1 = pd.read_excel(os.path.join(IN_FOLDER1, file1)) 25 df2 = pd.read_excel(os.path.join(IN_FOLDER2, file2)) 26 #何かしらのマージ処理(具体的な処理がわからないので省略) 27 merged_df.to_excel(os.path.join(OUT_FOLDER, out))

投稿2019/02/20 02:26

magichan

総合スコア15898

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

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

kagobito

2019/02/20 07:20

上記方法で達成できました。いつもありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問