python - 使用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")
解决方案
该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")
推荐阅读
- python-3.x - 提交后Django表单字段未设置值
- installation - 使用 pip 安装 dlib 时遇到问题
- python-3.x - pandas groupby 并用有序列扩大数据框
- javascript - TypeScript中函数类型参数的ESLint未使用变量规则
- asp.net - 如何从 Html.DropDownListFor onchange 调用控制器中的方法?
- firebase - Flutter:通过 FlutterFire 发送电子邮件验证码?
- javascript - 在 JavaScript 中实现分隔的延续单子 - `reset` 幂等性错误
- html - 如何在 Angular 6 HTML 中循环填充下拉列表?
- java - 处理 Java 和 C# REST API 之间的 JSON 互操作
- python - 使用 Pyyaml 或 Ruamel.yaml 在 Python 中编辑 .yaml 文件