如何用pandas写一个excel文档的中间

我有一个Excel文档(格式和一切)头几行是标题和标题的东西。

在第11行,我从实际的数据,列标题和一切开始。

我正在计算数据放在这张表中。

我可以用header = [11]读取数据,它会读入正确的列名,索引和所有内容。 我可以填写我的数据,根据需要添加列等。

我试图保存文件时出现问题。 如果我只是用to_excel保存,它会保存,但没有任何标题的东西,或格式的原件。

如何将我的数据框插入现有的Excel文档中的某个位置?

ETA:

有一件事,我忘了提到可能是重要的是,原来的Excel文件也有条件格式化通过数据部分。 我想保持这一点。

ETA2:为Josh的评论添加细节。

In [153]: xl.to_excel(writer, "Program Area Summary.xls", startrow=11) --------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-153-6541427c4a61> in <module>() ----> 1 xl.to_excel(writer, "Program Area Summary.xls", startrow=11) /Users/brianp/work/cyan/venv/lib/python2.7/site-packages/pandas/core/frame.pyc in to_excel(self, excel_writer, sheet_name, na_rep, float_format, columns, header, index, index_label, startrow, startcol, engine, merge_cells, encoding, inf_rep, verbose) 1422 formatted_cells = formatter.get_formatted_cells() 1423 excel_writer.write_cells(formatted_cells, sheet_name, -> 1424 startrow=startrow, startcol=startcol) 1425 if need_save: 1426 excel_writer.save() /Users/brianp/work/cyan/venv/lib/python2.7/site-packages/pandas/io/excel.pyc in write_cells(self, cells, sheet_name, startrow, startcol) 1243 wks = self.book.create_sheet() 1244 wks.title = sheet_name -> 1245 self.sheets[sheet_name] = wks 1246 1247 for cell in cells: TypeError: list indices must be integers, not str 

我在ipython中这样做,所以没有其他的代码。 xl是一个dataframe。

有两个我知道的选项,第一个是从searchStackOverflowfind的,你可以在这里find。 你可以使用这个例子和to_excel方法中的startrow参数在第11行或其他所需的地方启动你的DataFrame。 喜欢

 df.to_excel(writer, startrow=11, startcol=2). 

第二个选项是xlwings库,这是我在Python中使用Excel时通常使用的。 这里是xlwings链接到使用pandasDataFrames的文档。 下面是一个代码片段来做你想要的。

 import xlwings as xw bk = xw.Book('BookX.xlsx') sht = bk.sheets[0] sht.range('A11').value = df # df is your pandas Dataframe bk.save()