cqwcns 发表于 2021-4-27 09:07

python pandas在现有Excel表中追加行。

python pandas,以下代码实现在现有Excel表用追加一个sheet(sheet3)。


import pandas as pd

with pd.ExcelWriter('path_to_file.xlsx', mode='a') as writer:
    df.to_excel(writer, sheet_name='Sheet3')

但我希望实现的是在现有Excel表的现有sheet中追加行,例如在现有的sheet3表中追加行,不知道怎么实现,看了一下官方文档也没找到。
请各位大佬指教。


pandas官方文档:https://pandas.pydata.org/docs/reference/api/pandas.ExcelWriter.html?highlight=excelwriter#pandas.ExcelWriter

tianruo1987 发表于 2021-4-27 09:37

本帖最后由 tianruo1987 于 2021-4-27 09:45 编辑

前几天还写过一个,应该是可以实现的

cqwcns 发表于 2021-4-27 09:43

tianruo1987 发表于 2021-4-27 09:37
前几天还写过一个,应该是可以实现的

求码,谢谢

tianruo1987 发表于 2021-4-27 09:45

本帖最后由 tianruo1987 于 2021-4-27 11:00 编辑

cqwcns 发表于 2021-4-27 09:43
求码,谢谢
我去找一下。
https://www.cnblogs.com/qingyuu/p/10642249.html
这里能找到你的答案。

gentlespider 发表于 2021-4-27 10:36

data_list = []
# 准备插入的数据
data = ['姓名数据', '详情链接']
data_list.append(data)
# colnums 是表里的字段名,和data要对应
df = pandas.DataFrame(data_list, columns=['姓名', '详情页'])
df.to_excel('baike.xlsx', sheet_name='写入的表名')

pzx521521 发表于 2021-4-27 10:42

mode{‘w’, ‘a’}, default ‘w’
File mode to use (write or append). Append does not work with fsspec URLs.

New in version 0.24.0.
with pd.ExcelWriter('path_to_file.xlsx') as writer:
    df.to_excel(writer, sheet_name='Sheet1')

cqwcns 发表于 2021-4-27 11:02

pzx521521 发表于 2021-4-27 10:42
mode{‘w’, ‘a’}, default ‘w’
File mode to use (write or append). Append...

这只能在现有Excel表中追加sheet吧,我是希望在现有sheet中追加行哦

cqwcns 发表于 2021-4-27 11:04

gentlespider 发表于 2021-4-27 10:36
data_list = []
# 准备插入的数据
data = ['姓名数据', '详情链接']


你好,我是希望在现有Excel表(xlsx文件)的现有sheet中追加行。并非在DataFrame中追加。

qianxiaoqiang 发表于 2021-4-27 11:08

思路:读取现有的表(data1)--创建要追加的行(data2)--合并2个表(data)--保存(data)
data1=pd.read_excel()#读取现有的表(data1)
data2=pd.DataFrame({'col1': {1, 2, 3}, 'col2': {4, 5, 6}, 'col3': {7, 8, 9}})#创建要追加的行(data2)
data=pd.concat(,axis=0,join="outer")#合并2个表(data)
data.to_excel(r"xxx.xlsx",index=False)

cqwcns 发表于 2021-4-27 11:11

qianxiaoqiang 发表于 2021-4-27 11:08
思路:读取现有的表(data1)--创建要追加的行(data2)--合并2个表(data)--保存(data)
data1=pd.read_ ...

是个办法,但是要先读入原有数据。

如果有不用读入原有数据,直接追加就完美了。主要是因为表格数据多了,读写都很耗时。
页: [1] 2
查看完整版本: python pandas在现有Excel表中追加行。