首页 > 解决方案 > Python Pandas 加入几个文件

问题描述

我将一些 xlsx 文件导入到 pandas 数据框中。它工作正常,但我的问题是它复制了彼此下的所有数据(所以我有 10 个 100 行 = 1000 行的 excel 文件)。

我需要具有 100 行和 10 列的 Dataframe,因此每个文件将彼此相邻复制,而不是在下方复制。

有什么想法吗?

import os
import pandas as pd

os.chdir('C:/Users/folder/')

path = ('C:/Users/folder/')
files = os.listdir(path)

allNames = pd.DataFrame()

for f in files:
    info = pd.read_excel(f,'Sheet1')
    allNames = allNames.append(info)

writer = pd.ExcelWriter ('Output.xlsx')
allNames.to_excel(writer, 'Copy')
writer.save()

标签: pythonpandas

解决方案


您可以将电子表格作为数据框数组直接提供给pd.concat()

import os
import pandas as pd

os.chdir('C:/Users/folder/')

path = ('C:/Users/folder/')
files = os.listdir(path)

allNames = pd.concat([pd.read_excel(f,'Sheet1') for f in files], axis=1)

writer = pd.ExcelWriter ('Output.xlsx')
allNames.to_excel(writer, 'Copy')
writer.save()

推荐阅读