我运行一个脚本来从工作表中获取行和列,并使用它来制作图表。我遇到的问题是,由于MSEXCEL工作表中的行正在更改,因此我想在add_series
参数中添加最后一行,以便它将始终采用第2行的图表数据的限制,直到最后一行。
这是我当前正在使用的代码(我想更改):
chart1 = workbook.add_chart({'type': 'column'})
chart1.add_series({
'values': "='Sheet1'!$B$2:$B$126",
'categories': "='Sheet1'!$A$2:$A$126",
'data_labels': {'value': False, 'categories': False, 'series': False}
})
我已经将上面的代码修改为以下代码,但是现在图表什么也没有得到任何数据。
chart1 = workbook.add_chart({'type': 'column'})
chart1.add_series({
'values': "='Sheet1'!$B$2:($B$ + str(last_row_number + 1)",
'categories': "='Sheet1'!$A$2:($A$ + str(last_row_number + 1)",
'data_labels': {'value': False, 'categories': True, 'series': False}
last_row_number
是通过在工作表列中枚举而计算出的变量[<type 'int'>
]。
先谢谢了。
答案 0 :(得分:2)
XlsxWriter中的几乎每个接口都支持(row, col)
表示法和A1
范围表示法。
对于add_series()
,您可以使用[sheetname, first_row, first_col, last_row, last_col]
之类的列表:
chart.add_series({
'categories': ['Sheet1', 1, 0, 125, 0],
'values': ['Sheet1', 1, 1, 125, 1],
# ...
})
# Or:
last_row = 125
chart.add_series({
'categories': ['Sheet1', 1, 0, last_row, 0],
'values': ['Sheet1', 1, 1, last_row, 1],
# ...
})
请参阅add_series()
的文档。