回答編集履歴
1
予約語について追記
answer
CHANGED
@@ -1,6 +1,11 @@
|
|
1
1
|
以下のような感じでできます。
|
2
2
|
対象.xlsx元ファイルにファイル名列を追加するのは少々無駄なので、読込後の`df`に対して追加しています。
|
3
3
|
元ファイルに列を追加するには、ソースコード中の処理①をコメントアウトし、処理②を生かしてください。
|
4
|
+
|
5
|
+
あと、変数名に`list`のような予約語を使ってはいけません(使えるんだけど)。
|
6
|
+
その予約語が持つ動作をしなくなってしまいます。
|
7
|
+
例えば集合をリストに変換する`x = list({1,2,3})`のようなコードが動かなくなってしまいます。
|
8
|
+
以下コードでは`lst`に書き換えています。
|
4
9
|
```Python
|
5
10
|
import glob
|
6
11
|
import os.path
|
@@ -19,7 +24,7 @@
|
|
19
24
|
|
20
25
|
#エクセルファイルを連結する
|
21
26
|
excel_files = glob.glob("*.xlsx")
|
22
|
-
|
27
|
+
lst= []
|
23
28
|
for f in excel_files:
|
24
29
|
name,ext = os.path.splitext(f)
|
25
30
|
|
@@ -29,7 +34,7 @@
|
|
29
34
|
#add_name(f,name) # 処理② ファイル名列を追加する
|
30
35
|
df = pd.read_excel(f,header=None)
|
31
36
|
df[2] = name # 処理① 位置はD列(=2)固定
|
32
|
-
|
37
|
+
lst.append(df)
|
33
|
-
df = pd.concat(
|
38
|
+
df = pd.concat(lst,sort = True)
|
34
39
|
df.to_excel("ALL.xlsx",header=None,index=False)
|
35
40
|
```
|