如何在 xlsxwriter add_series() 中从行 col 表示法转换为 A1 表示法
how to get from row col notation to A1 notation in xlsxwriter add_series()
我对如何将行 col 转换为 A1 表示法并在 XlsxWriter 图表的 add_series()
方法中使用它并非一无所知。
请参考以下代码:
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
$I
$B
$I
感谢任何帮助 TIA!
要回答直接问题,您可以使用 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()
上的文档。
我对如何将行 col 转换为 A1 表示法并在 XlsxWriter 图表的 add_series()
方法中使用它并非一无所知。
请参考以下代码:
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
$I
$B
$I
感谢任何帮助 TIA!
要回答直接问题,您可以使用 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()
上的文档。