簡體   English   中英

將多個 CSV 文件與區分大小寫的列名稱與 Python 組合

[英]Combining multiple CSV files with case sensitive column names with Python

我在一個文件夾中有多個文件具有相同的列詳細信息。 但是,對於某些文件,列名是小寫,而 rest 的列名是大寫。

我正在使用下面的代碼將它們連接到一個文件中

path = r'folder'
file = glob.glob(os.path.join(path, 'Add', "*.csv"))
data = pd.concat((pd.read_csv(f, sep=',', encoding='latin-1') for f in file), ignore_index=True, sort=True)
data['Period'] = '202007' #Period Column is required as string

單個文件有 40 列,但是當我通過“pd.concat”添加所有文件時,我得到 81 列(大寫 40 + 小寫 40 + 創建的 1 列)。

我需要最終的 output 為 41 列 - 大寫/小寫的 40 列 + 1 個創建的列

感謝 Sid 的 concat 幫助。

更新(數據類型):我的數據中有不同的數據類型(int、float、object)。

在連接數據框之前,嘗試將列名全部轉換為小寫:

df.columns = df.columns.str.lower()

您還應該統一數據類型。 為此,請查看astype

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM