簡體   English   中英

使用 pandas 具有不同列的多個文件

[英]Multiple files with with different Columns using pandas

我有大量不同列的 Excel 文件

例如:

文件 1:

Name | sale | Tips
-------------
sam  |  9   | 7
cham |  2   | 2

文件 2:

Name | sale | Items
-------------------
mini |  6    | Tshirt
Lary |  3    | Hat

Output:

Name |  sale | Items
--------------------
sam  |  9    | Nan
cham |  2    | Nan
mini |  6    | Tshirt
Lary |  3    | Hat

我有 500 個文件要創建到一個數據集中

此代碼在一定程度上有效,但除非所有列都相同。

import pandas as pd
import glob,os
import numpy as np


inputFile = 'C:/Users/Desktop/test'

all_workbooks =glob.glob(os.path.join(inputFile,'*.xlsx'))

column_list = []
for files in all_workbooks:
    
    data= pd.read_excel(files,header =0,sheet_name='sheet1')
    column_list.append(data)
    stack_np = np.vstack(column_list)
    newData = pd.DataFrame(stack_np,columns=['Name','Sale'])

print(newData)

如果我在所有文件中都有相同的列,則此代碼有效。

如果我有無序的列,任何人都可以幫助我解決問題嗎?

您需要收集數據幀並在循環后將它們連接起來

all_dfs =[]
wanted_columns = ['Name', 'sale', 'Items']
for files in all_workbooks:
    data = pd.read_excel(files,header =0,sheet_name='sheet1')
    data = data[wanted_columns] # or skip this line to use all columns
    all_dfs.append(data)

master_df = pd.concat(all_dfs)
del all_dfs, data

暫無
暫無

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

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