使用python在excel中生成graphics

我一直在试图在Excel中生成数据。 我生成了.CSV文件。 所以到此为止很简单。 但生成graphics是相当困难的Excel中…

我想知道,是python能够生成数据和graphics在Excel中? 如果有示例或代码片段,请随时发布:)

或者一个解决方法可以使用python生成graphics格式的graphics,如.jpg等或.pdf文件也可以。只要解决方法不需要依赖,如需要安装boost库。

你有2个选项:

如果你在windows上,你可以使用pywin32 (包含在ActivePython中 )来使用OLE自动化来自动化Excel。

from win32com.client import Dispatch ex = Dispatch("Excel.Application") # you can use the ex object to invoke Excel methods etc. 

如果你只想生成基本的情节等,你可以使用matplotlib 。

是的,Xlsxwriter [ docs ] [ pypi ]在Python中创buildexcel 图表有很多实用性。 您将需要使用xlsx文件格式,不正确的参数没有太多的反馈,并且您不能读取您的输出。

 import xlsxwriter import random # Example data # Try to do as much processing outside of initializing the workbook # Everything beetween Workbook() and close() gets trapped in an exception random_data = [random.random() for _ in range(10)] # Data location inside excel data_start_loc = [0, 0] # xlsxwriter rquires list, no tuple data_end_loc = [data_start_loc[0] + len(random_data), 0] workbook = xlsxwriter.Workbook('file.xlsx') # Charts are independent of worksheets chart = workbook.add_chart({'type': 'line'}) chart.set_y_axis({'name': 'Random jiggly bit values'}) chart.set_x_axis({'name': 'Sequential order'}) chart.set_title({'name': 'Insecure randomly jiggly bits'}) worksheet = workbook.add_worksheet() # A chart requires data to reference data inside excel worksheet.write_column(*data_start_loc, data=random_data) # The chart needs to explicitly reference data chart.add_series({ 'values': [worksheet.name] + data_start_loc + data_end_loc, 'name': "Random data", }) worksheet.insert_chart('B1', chart) workbook.close() # Write to file 

例如的输出

我build议你从数据文件中绘制graphics时尝试gnuplot。

如果您决定使用matplotlib,请查看我的excel到python类PyWorkbooks以获取数据。 它使您能够以numpy数组(matplotlib的本地数据types)高效且轻松地检索数据。

https://sourceforge.net/projects/pyworkbooks/

@David Gao,我正在做类似的事情。 目前我正在使用原始CSV或将其转换为JSON,只是将其放在jqplot正在读取的文件夹中。 jQuery的绘图和graphics库 。 然后,我需要做的是让用户或我自己在任何网页浏览器中显示剧情。