stud_eco:
私は、フォーマットXLSとXLSXのいくつかのExcelファイルとフォルダを持っていると私はそれらを読んで、1つのデータフレームでそれらを連結しようとしています。私が直面していないという問題は、Pythonが正しい順序でフォルダ内のファイルを読み取らないということです。
190.xls、195.xls、198.xls、202.xlsx、220.xlsxなど:マイフォルダには、以下のファイルが含まれています
これは私のコードです:
import pandas as pd
from pathlib import Path
my_path = 'my_Dataset/'
xls_files = pd.concat([pd.read_excel(f2) for f2 in Path(my_path).rglob('*.xls')], sort = False)
xlsx_files = pd.concat([pd.read_excel(f1) for f1 in Path(my_path).rglob('*.xlsx')],sort = False)
all_files = pd.concat([xls_files,xlsx_files],sort = False).reset_index(drop=True))
彼らはTHE FOLDERた私は、私が欲しいものを得るが、ファイルはありません、連結の順序のとおりです!!!!! all_filesにデータフレーム私が最初に190.xlsから、その後202.xlsxからデータを持っていることを意味
どのように私はこの問題を解決することができますか?前もって感謝します!
ラケッシュ:
使用してみてください
import pandas as pd
from pathlib import Path
my_path = 'my_Dataset/'
all_files = pd.concat([pd.read_excel(f) for f in sorted(list(Path(my_path).rglob('*.xls')) + list(Path(my_path).rglob('*.xlsx')), key=lambda x: int(x.stem))],sort = False).reset_index(drop=True)