使用pythons xlsxwriter模块创建的Excel工作表运行太慢
我使用使用pythons xlsxwriter模块创建的Excel工作表运行太慢,excel,Excel,我使用xlsxwriterpython模块创建了一个包含2个系列的柱状图,代码如下。在Microsoft Excel中打开文件时,导航速度很慢 def create_2_series_column_chart(self, sheet_obj, series_1, series_2, chart_name, x_axis_name, y_axis_name, location): chart1 = self.output_workbook.add_chart({'type': 'colum
xlsxwriter
python模块创建了一个包含2个系列的柱状图,代码如下。在Microsoft Excel中打开文件时,导航速度很慢
def create_2_series_column_chart(self, sheet_obj, series_1, series_2, chart_name, x_axis_name, y_axis_name, location):
chart1 = self.output_workbook.add_chart({'type': 'column'})
chart1.add_series(series_1)
chart1.add_series(series_2)
chart1.set_title({'name': chart_name})
chart1.set_x_axis({'name': x_axis_name})
chart1.set_y_axis({'name': y_axis_name})
chart1.set_style(42)
sheet_obj.insert_chart(location, chart1, {'x_offset': 25, 'y_offset': 10})
series_1 = {
'name': ["MY_SHEET", 2, 1],
'categories': ['MY_SHEET', 3, 0, 2+num_days_in_month, 0],
'values': ['MY_SHEET', 3, 15+2*ix+1, 2+num_days_in_month, 15+2*ix+1],
}
series_2 = {
'name': ["MY_SHEET", 2, 2],
'categories': ['MY_SHEET', 3, 0, 2+num_days_in_month, 0],
'values': ['MY_SHEET', 3, 16+2*ix+1, 2+num_days_in_month, 16+2*ix+1],
#'data_labels': {'value': True, 'position': 'top'}
}
location = ["A", "J", "S", "AB"][ix]+ "54"
self.create_2_series_column_chart(self.my_worksheet, series_1, series_2, "CHARTS", 'days', 'count', location)
有什么想法吗?XlsxWriter创建图表的方式与Excel完全相同,并且有很多方法可以验证这一点。所以,理论上,XlsxWriter所做的任何事情都不会产生慢图表。此外,没有其他人报告过任何类似的问题,XlsxWriter中的图表功能被大量使用 尽管如此,您仍然清楚地看到了一个问题,因此这里有一些问题需要研究:
另外,我是XlsxWriter的作者 多慢就是太慢?你做过分析吗?你知道瓶颈在哪一行代码上吗?代码本身运行速度并不慢。图表有问题。创建excel文件后,我打开excel文件,转到包含图表的工作表。但是在该工作表中导航太慢。使用
xlsxwriter
或Excel导航?使用Excel导航有关Excel的问题在StackOverflow上是离题的。先生,很抱歉打扰您,我注意到我的代码中有一个错误,似乎我已经在同一个位置上创建了相同的图表,在for
循环中,一个在另一个之上创建了100次。这就是床单跑得太慢的原因。直到我把顶部的图表拖到另一个位置,我才注意到它。最好的评价但是还有一件事,当你在Excel中点击一个图表系列时,数据范围会用蓝色/绿色框突出显示,对吗?使用xlsxwriter模块创建的图表不会出现这种情况。有什么想法吗?很高兴你把它解决了。使用xlsxwriter模块创建的图表不会出现这种情况。是的。你不能在评论中发布截图,但如果我可以的话,它看起来就像你描述的那样。试试文档中的一个。正如我上面所说,XlsxWriter图表与Excel图表完全相同,其行为应该相同。