Python的pandas保存Excel时怎样取消行标签

文章讲述了在使用pandas处理Excel数据时,如何避免保存表格时第一行自动加粗的问题。通过设置`header=None`和`index=False`参数,可以防止读取时将第一行视为标签并加粗,同时去除自动添加的索引列。

“新手学软件,两眼一抹黑”系列第3弹

pandas.ExcelWriter,保存表格时不想让第一行加粗怎么办

从Excel文件中读取数据,进行一些处理后,保存为一个新的Excel文件。

原数据(xls或xlsx文件)格式如下:

虽然这里的第一行是变量名,但有时使用的其他表格中没有变量名,是纯数字。

读取原数据(默认读取第一个sheet):

sheet_old = pd.read_excel(r"D:\demo.xlsx")

 进行一些处理,比如替换一些关键字:

sheet_new = sheet_old.replace('北京市', '北京')

要另存为新的xlsx文件:

sheet_new.to_excel(r"D:\demo2.xlsx")

看一下输出的格式:

不太满意,如果不想要最左侧这一列自动添加的索引编号,就将保存命令改为:

sheet_new.to_excel(r"D:\demo2.xlsx", index=False)

 此时输出的格式:

第一行的自动加粗,是因为读取表格时,默认将第一行视为标签。

如果数据里没有标签,则读取表格时的命令需要修改。 

sheet_old = pd.read_excel(r"D:\demo.xlsx", header=None)
sheet_new = sheet_old.replace('北京市', '北京')
sheet_new.to_excel(r"D:\demo2.xlsx", index=False)

此时出现了新问题,由于没有标签,所以自动生成了列的索引并且加粗了,不是我要的格式:

查询pandas的官网说明页面,对于pandas.ExcelWriter的介绍:pandas.ExcelWriter — pandas 2.0.2 documentation (pydata.org)

然而,并没有相应的说明。

经过自己摸索,能加一个参数,虽然官网里没写能这么干:

sheet_old = pd.read_excel(r"D:\demo.xlsx", header=None)
sheet_new = sheet_old.replace('北京市', '北京')
sheet_new.to_excel(r"D:\demo2.xlsx", index=False, header=None)

最后的输出结果,符合自己的需求,保持原数据的样式:

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值