首页 > 解决方案 > 使用python从不同的excel文件中添加数据

问题描述

我有一个代码可以完美地用于 2 个文件。但是现在,我想添加几个 excel 文件,但它不起作用。

这是我的代码:

import pandas as pd

a = pd.read_excel('alex.xlsx', index_col=None, header=None)
b = pd.read_excel('blago.xlsx', index_col=None, header=None)
c = pd.read_excel('claude.xlsx', index_col=None, header=None)
d = pd.read_excel('cristian.xlsx', index_col=None, header=None)
e = pd.read_excel('eric.xlsx', index_col=None, header=None)
f = pd.read_excel('haou.xlsx', index_col=None, header=None)
g = pd.read_excel('iulian.xlsx', index_col=None, header=None)
h = pd.read_excel('luca.xlsx', index_col=None, header=None)
i = pd.read_excel('maricel.xlsx', index_col=None, header=None)
j = pd.read_excel('michel.xlsx', index_col=None, header=None)
k = pd.read_excel('noel.xlsx', index_col=None, header=None)
l = pd.read_excel('paul.xlsx', index_col=None, header=None)




z = a.add(b, c, d, e, f, g, h, i, j, k, l, fill_value=0)

z.to_excel("z.xlsx")




标签: python

解决方案


add函数不连接两个数据帧,它添加到数据帧中的值。我建议使用concat而不是使用glob模块来避免单独调用每个单独的文件,如下所示:

import pandas as pd
import glob

a = pd.concat([pd.read_excel(file, index_col=None, header=None) for file in glob.glob('*.xlsx')], ignore_index = True)
a.fillna(0, inplace = True)
a.to_excel("a.xlsx")

推荐阅读