各位前輩好
新手小弟再來討教Python的語法
功能描述:
以下為小弟的程式碼
import glob
import pandas as pd
# 分別設定來源檔案路徑以及輸出檔案的路徑
import_folder_path = 'D:/automatic/excel'
export_file_path = 'D:/excelprocess'
# 讀取來源資料夾內所有的.xlsx檔案
path = import_folder_path + '/' + '*.xlsx'
file_path = glob.glob(path)
# 將所有檔案資料結合
df_concat = pd.DataFrame()
for i in file_path:
df_read_excel = pd.read_excel(i)
df_concat = pd.concat([df_read_excel, df_concat])
# 將前頭一個空白列刪除
df_drop = df_concat.drop('NaN', axis=1)
# 按照Excel表格欄位裡number的欄位做升冪
df_sort = df_drop.sort_values(by='number', ascending=True)
# 將最後排列結果輸出成已處理.xlsx檔案
df_sort.to_excel(export_file_path+'/'+'已處理.xlsx')
目前遇到的問題是
# 將前頭一個空白列刪除
df_drop = df_concat.drop('NaN', axis=1)
這一行的空欄內容
如果在這行之前執行print(df_concat)的話
會看到前面多出一行,而第一行第一欄就是空白值
我想藉由判別該空白值然後刪掉那一列的東西
但是輸入NaN或是輸入空白都無效,都會說找不到該變數(但這不是變數啊)
還請各位前輩指教這樣的狀況下該怎麼處理,謝謝!
我想到的是,一開始 read 就不要產生 index or 最終存檔不要儲存 index
for i in file_path:
df_read_excel = pd.read_excel(i, ,index_col=0)
df_concat = pd.concat([df_read_excel, df_concat])
df_sort.to_excel(export_file_path+'/'+'已處理.xlsx', index=False)
感謝前輩,我也剛好找到類似的文章
Python pandas和os模块合并一个文件夹内多个excel文件
他的作法就跟您說的一樣
所以最後處理的方式就是最終存檔不儲存index
更新一下最後我的程式碼
import glob
import pandas as pd
# 分別設定來源檔案路徑以及輸出檔案的路徑
import_folder_path = 'D:/automatic/excel'
export_file_path = 'D:/excelprocess'
# 讀取來源資料夾內所有的.xlsx檔案
path = import_folder_path + '/' + '*.xlsx'
file_path = glob.glob(path)
# 將所有檔案資料結合
df_concat = pd.DataFrame()
for i in file_path:
df_read_excel = pd.read_excel(i)
df_concat = pd.concat([df_read_excel, df_concat])
# 按照Excel表格欄位裡number的欄位做升冪
df_sort = df_concat.sort_values(by='number', ascending=True)
# 將最後排列結果輸出成已處理.xlsx檔案
df_sort.to_excel(export_file_path+'/'+'已處理.xlsx', index=False)
謝謝你的分享 :)
改成df_drop = df_concat.drop([0])
試試看
資料來源