我目前在Python / Excel中使用xlwings,并希望在将值与pandas DataFrame一起放置后格式化表格。但是,我无法根据需要设置表格的格式。确实,API似乎不了解这些列是否已设置。 你能告诉我怎么做吗?这是我的代码:
range_ = wb.sheets[sheet_name].range("B2")
range_.expand().clear_contents()
range_.options(pd.DataFrame, index=True).value = data_df
range_.select()
tbl = wb.sheets[sheet_name].api.ListObjects.add()
tbl.TableStyle = "TableStyleMedium4"
tbl.DisplayName = table_name
但是,在XL文件中,第一行(标题)设置为:第1列,第2列,依此类推,而不是使用我的data_df列。 你能帮我吗?
非常感谢您!
答案 0 :(得分:0)
我确定您现在已经前进了,但是如果其他人正在搜索它,我可以通过使用
实现ws = xw.Book.caller().sheets[sheet_name]
ws.range('A1').options(index=False, header=True).value = df
rng = ws.range('A1').expand('table')
tbl = ws.api.ListObjects.add(1,ws.api.Range(rng.address),False,1)
ListObjects.Add调用中的第4个输入参数控制标题。您可以找到有关ListObject参数here
的更多信息。