首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何使用Pandas将具有不同标题的多个Excel文件合并到一个工作表中?

如何使用Pandas将具有不同标题的多个Excel文件合并到一个工作表中?
EN

Stack Overflow用户
提问于 2020-10-31 19:14:15
回答 1查看 672关注 0票数 0

我必须组合几个文件(大约40个),这些文件有几种不同的标题(例如,标题根据文件在不同的列中,一些文件有一些列的名称在其他文件中没有显示,等等)。

我有一个python脚本,它可以组合这些文件,但它只是将它们放在原始文件中的相同顺序中。我希望这个脚本能够在新的列名出现时添加一个新列,并将该列名的所有将来出现的内容映射到相应的行。

下面是我想要的输出的一个示例,其中“毛佣金”和“支出”列仅显示在2019年7月的文件中,而“%”和“$”列仅显示在2018年6月的文件中(所有其他列都显示在这两个列中):

*每个文件都有一个不同的“期间”。

当前代码:

代码语言:javascript
运行
AI代码解释
复制
import pandas as pd
import os
import tkinter as tk
from tkinter import filedialog

root = tk.Tk()
root.withdraw()

in_path = filedialog.askdirectory()
listing = os.listdir(in_path)

files_xlsx = [f for f in listing if f[-4:] == 'xlsx']

df = pd.DataFrame()

for infile in listing:
    file_data = pd.read_excel(in_path + '/' + infile,
                              header=0,
                              encoding = "ANSI")
    df = df.append(file_data, sort=False)

out_path = in_path + ' Combined.xlsx'

writer = pd.ExcelWriter(out_path, engine='xlsxwriter')

df.to_excel(writer,
            sheet_name='Combined',
            index=False,
            header=None)

writer.save()

谢谢你的帮助,如果我能提供更多细节,请告诉我。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-31 20:24:44

要将头文件写入到您的xlsx文件中,您可以在执行df.to_excel()时更改header=True。

修改后的代码为:

代码语言:javascript
运行
AI代码解释
复制
import pandas as pd
import os
import tkinter as tk
from tkinter import filedialog

root = tk.Tk()
root.withdraw()

in_path = filedialog.askdirectory()
listing = os.listdir(in_path)

files_xlsx = [f for f in listing if f[-4:] == 'xlsx']

df = pd.DataFrame()

for infile in listing:
    file_data = pd.read_excel(in_path + '/' + infile,
                              header=0,
                              encoding = "ANSI")
    df = df.append(file_data, sort=False)


out_path = in_path + ' Combined.xlsx'

writer = pd.ExcelWriter(out_path, engine='xlsxwriter')

df.to_excel(writer,
            sheet_name='Combined',
            index=False,
            header=True)

writer.save()

并给出了带有一些测试数据的如下输出

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64625521

复制
相关文章
精品:TCP连接的建立和终止
TCP是一个面向连接的协议。无论哪一方向另一方发送数据之前,都必须先在双方之间建立一条连接。
看、未来
2020/08/26
7950
精品:TCP连接的建立和终止
TCP连接是如何建立和终止的?
服务器在客户端建立连接时刚好断电。可以看出客户端进行了重试,但是重试之间的时间间隔第一次是5.81秒,而第二次间隔是24.00秒。
爬蜥
2019/07/08
1.7K0
TCP连接是如何建立和终止的?
TCP连接异常终止(RST包)场景分析
TCP的异常终止是相对于正常释放TCP连接的过程而言的,我们都知道,TCP连接的建立是通过三次握手完成的,而TCP正常释放连接是通过四次挥手来完成。但是有些情况下,TCP在交互的过程中会出现一些意想不到的情况,导致TCP无法按照正常的三次握手建立连接或四次挥手来释放连接。如果此时不通过其他的方式来释放TCP连接的话,这个TCP连接将会一直存在,占用系统的资源。在这种情况下,我们就需要有一种能够释放TCP连接的机制,这种机制就是TCP的reset报文。reset报文是指TCP报头的标志字段中的reset位置一的报文,如下图所示:
全栈程序员站长
2022/11/15
4.5K0
TCP连接异常终止(RST包)场景分析
【Mac】APP无法打开或文件损坏的处理方法
在 MAC 下安装一些软件时提示”来自身份不明开发者“,其实这是MAC新系统启用了新的安全机制。 默认只信任 Mac App Store 下载的软件和拥有开发者 ID 签名的应用程序。
redszhao
2021/08/09
1.3K0
【Mac】APP无法打开或文件损坏的处理方法
mac 无法打开22端口 无法远程连接ssh 的解决办法
mac 无法远程连接 原因是22端口没有打开 尝试通过命令行打开22端口 依然失败!! 解决办法:手动设置 ①打开系统偏好设置-共享 ②勾选远程登录并添加用户 现在再试一下远程ssh ,已经可以成功连接了!
小黑同学
2021/12/06
3.8K0
mac 无法打开22端口 无法远程连接ssh 的解决办法
windows10无法打开onedrive-打开onedrive提示文件或目录损坏且无法读取
今天电脑开机,发现onedrive没有随着开机自启,于是在搜索栏搜到onedrive应用,手动点击,没有任何反应
承世
2023/04/07
7.1K0
windows10无法打开onedrive-打开onedrive提示文件或目录损坏且无法读取
PHP curl或file_get_contents下载图片损坏或无法打开
通过curl或者file_get_contents获取抓取远程图片并且保存到本地,发现损坏了很多图片,比如访问
超级小可爱
2023/02/20
1.4K0
Mac应用程序无法打开或文件损坏的处理方法
错误截图 当遇到这种情况,真的损坏了么?是不是真的要移动到废纸篓呢?遇到这样的情况,通常是打开任何来源即可轻松解决,下面讲一下Mac应用程序无法打开或文件损坏的处理方法,解答Mac没有任
骤雨重山
2022/05/30
3.9K0
Mac应用程序无法打开或文件损坏的处理方法
内存或磁盘空间不足,excel无法再次打开_打开文件显示内存或磁盘空间不足
在网络上下载的文件,使用EXCEL打开的时候提示“内存或磁盘空间不足,Microsoft Excel 无法再次打开或保存任何文档。”,针对这个问题,装机之家小编特地在网上搜罗了具体解决方法,但是网上提供的增加虚拟内存的方法,并不能解决该问题,不过经过小编琢磨,终于找到能够解决该问题的方法,下面装机之家分享一下内存或磁盘空间不足 excel无法再次打开解决方法,来看看吧!
全栈程序员站长
2022/09/21
5.5K0
内存或磁盘空间不足,excel无法再次打开_打开文件显示内存或磁盘空间不足
Python代理无法连接或连接不稳定故障排除指南
在使用Python进行网络爬虫或访问外部资源时,经常会遇到代理无法连接或连接不稳定的问题。本文将提供一份详细的故障排除指南,帮助你解决Python代理连接问题,确保顺利进行网络操作。
华科云商小彭
2023/08/25
4790
Python代理无法连接或连接不稳定故障排除指南
localhost或127.0.0.1无法连接到mysql的解决方案
在my.ini文件中加入bind-address = 127.0.0.1便可解决该问题
wuweixiang
2018/08/14
3.9K0
localhost或127.0.0.1无法连接到mysql的解决方案
java中跳出或终止if语句的方法
break:跳出当前循环;但是如果是嵌套循环,则只能跳出当前的这一层循环,只有逐层break才能跳出所有循环。
Java架构师必看
2021/12/21
5.6K1
Android检测网络是否可用并打开、扫描、连接WIFI
需求:要求先检查网络是否可用,如果可用就跳过网络设置界面,如果不可用就打开WIFI并扫描网络后去手动输入密码连接
程序员飞飞
2020/02/27
2.9K0
[TCP] tcp连接SYN超时重传次数和超时时间
当tcp进行三次握手的时候 , 第一步是客户端发送syn请求 , 服务端返回syn+sck , 客户端响应sck
唯一Chat
2021/04/22
8.8K0
SaveFileDialog无法打开
当前画面是报表画面,没用线程。主画面点击按钮,打开该画面,是在子线程中打开的,所以SaveFileDialog也无法直接打开
全栈程序员站长
2022/11/10
2K0
IReport无法打开的原因
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说IReport无法打开的原因,希望能够帮助大家进步!!!
Java架构师必看
2021/11/30
2.3K0
IReport无法打开的原因
matlab中importdata无法打开文件_importdata无法打开文件
最近使用importdata函数不能读取全部数据,数据集315行,但是读取了197行,那就是197-198之间有问题,百度之后有了思路。由于没有找到具体的证据,所以这里说一下解决思路。
全栈程序员站长
2022/11/16
6.4K0
matlab中importdata无法打开文件_importdata无法打开文件
Visual Studio 2017 “无法查找或打开PDB文件“ 解决方法
我这儿选择使用http://msdl.microsoft.com/download/symbols,然后选择路径。
全栈程序员站长
2022/08/22
6.7K1
Visual Studio 2017 “无法查找或打开PDB文件“ 解决方法
点击加载更多

相似问题

检测TCP连接丢失的时间

23

TCP连接终止

10

终止连接TCP

13

终止现有tcp连接

21

Ruby on Rails:无法打开TCP连接

28
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档