Python Excel:保留现有数据
我尝试了以下代码:Python Excel:保留现有数据,python,python-2.7,pandas,export-to-excel,Python,Python 2.7,Pandas,Export To Excel,我尝试了以下代码: book = load_workbook('output.xlsx') writer = pd.ExcelWriter('output.xlsx') writer.book = book writer.sheets = dict((ws.title, ws) for ws in book.worksheets) Output.to_excel('output.xlsx', "Main", index=True, header=False, startcol = pickupc
book = load_workbook('output.xlsx')
writer = pd.ExcelWriter('output.xlsx')
writer.book = book
writer.sheets = dict((ws.title, ws) for ws in book.worksheets)
Output.to_excel('output.xlsx', "Main", index=True, header=False, startcol = pickupcol)
writer.save()
这是循环的一部分,但我发现to_excel一次只能写入256列,所以我决定使用变量pickupcol
,这样我一次只能添加一个部分。不幸的是,它删除了以前的空白单元格数据
想法/建议?
谢谢
startcol
指Excel文件中转储数据帧的部分左上角单元格的列号。
通过to_excel函数的参数columns
,选择要写入excel的数据框的列。
下面的代码适合我。它不会覆盖以前的数据
In [57]: import pandas as pd
In [58]: import numpy as np
In [59]: df = pd.DataFrame(np.random.randn(5,300))
In [60]: writer = pd.ExcelWriter("output.xlsx")
In [61]: df.to_excel(writer,columns=range(0,255))
In [62]: df.to_excel(writer,columns=range(256,300),startcol=257,index='False')
In [63]: writer.save()
顺便说一下,我可以一次写入所有列,不受256列的限制。我正在使用pandas版本“0.15.2”为什么不写一个csv,然后用Excel打开它?您是否尝试在每次迭代中打印
pickupcol
?我建议创建一个新的Excel工作表,并通过ID
将其与旧的工作表合并,根据您的选择使用Thank@user1319128。当我使用您的代码时,得到的结果与您相同。我的代码/数据一定有问题。出于某种原因,我周末回来,现在它和你的一样工作!现在我有一个问题: