我并不是不知道如何将行表示法转换为A1表示法,并在add_series()方法中对XlsxWriter中的图表使用它。
请查找以下代码以供参考:
print "Drawing Simultaneous Busy Cores"
writer.targetWrite('simultaneous_busy_cores', 'weighted_average', *write_data)
row = writer.getRow('simultaneous_busy_cores')
str1_cat = xl_rowcol_to_cell(6, 1, row_abs=True, col_abs=True)
str2_cat = xl_rowcol_to_cell(6, 8, row_abs=True, col_abs=True)
str1_val = xl_rowcol_to_cell(row-1, 1, row_abs=True, col_abs=True)
str2_val = xl_rowcol_to_cell(row-1, 8, row_abs=True, col_abs=True)
print str1_cat
print str2_cat
print str1_val
print str2_val
dict_series = {
'name': 'simultaneous_busy_cores',
'categories': '=simultaneous_busy_cores!str1_cat:str2_cat',
'values': '=simultaneous_busy_cores!str1_val:str2_val',
'data_labels': {'percentage': True, }
}
chart1.add_series(dict_series)
chart1.set_title({'name': 'simultaneous_busy_cores'})
chart1.set_style(10)
target_sheet.insert_chart('K2', chart1, {'x_offset': 25, 'y_offset': 10})str_cat和str_val的值是:
Drawing Simultaneous Busy Cores
$B$7
$I$7
$B$24
$I$24任何帮助都是非常感谢的TIA!
发布于 2017-03-29 09:42:55
要回答直接问题,可以使用string.format()或%将变量值插入到字符串中:
'=simultaneous_busy_cores!%s:%s' % (str1_cat, str2_cat),但是,由于XlsxWriter已经支持类别和值的列表语法,所以这需要做更多的工作:
dict_series = {
'name': 'simultaneous_busy_cores',
'categories': ['simultaneous_busy_cores', 6, 1, 6, 8],
'values': ['simultaneous_busy_cores', row-1, 1, row-1],
'data_labels': {'percentage': True, }
}有关详细信息,请参阅关于add_series()的文档。
https://stackoverflow.com/questions/43087725
复制相似问题