Python Pandas: 如何指定导出数据框到Excel时的起始单元格位置

5
当使用xlsxwriter将dataframe从Pandas导出到Excel时,默认情况下似乎会将表格放在A1单元格。是否有一种方法可以更改此设置?只要是通过pandas或xlsxwriter以编程方式实现的插入行和列来将表格移开A1,我就不介意。如果有帮助的话,这是我的代码。
writer = pd.ExcelWriter(r'c:\file.xlsx', engine = 'xlsxwriter')
workbook - writer.book
df.to_excel(writer, index=True, sheet_name ='Sheet1')

我也找不到XlsxWriter插入行和列的方法。

DeepSpace的回答是正确的,但需要注意的是,这在XlsxWriter和Python Pandas一起使用的部分中有涵盖。 - jmcnamara
1个回答

13

to_excel 函数可以接受 startrowstartcol 参数,它们都是从零开始的数字(例如 startrow=1startcol=1 将把数据表格的左上角放在单元格 B2)。

startrow : 数据框要放置的左上角单元格所在行

startcol : 数据框要放置的左上角单元格所在列


如何使用字母数字混合的单元格位置“ A1”代替“ startrow”和“ startcol”来完成此操作? - burkesquires
如果我想将三个不同行长度的数据框写入同一个Excel文件的工作表中,该怎么办?当我执行 startrow += df1.shape[0] 并且在不提供常数的情况下提供此参数以写入第二个数据框时,它会显示:SyntaxError: positional argument follows keyword argument。 - user76170
1
@burkesquires xlsxwriter.utility.xl_col_to_name(integer) 将提供基于 0 的数字单元格标识符的字母数字表示。例如:xlsxwriter.utility.xl_col_to_name(0) 返回 "A"。这将执行反向操作:xlsxwriter.utility.xl_cell_to_rowcol(f'{string}1')[1]。例如:如果 {string}A,则返回值为 0。您可以将这些制作成函数,并在您喜欢的表示法中工作。只需使用函数将您喜欢的表示法映射到所需的表示法即可。 - MrChadMWood

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接