我一直在试图在Excel中生成数据。 我生成了.CSV文件。 因此,这很容易。 但生成图很难在Excel中...使用python在excel中生成图形
我在想,是python能够在excel中生成数据和图吗? 如果有示例或代码片段,请随时发布:)
或者一种解决方法可以使用python生成图形格式的图形,如.jpg等或.pdf文件也可以。只要解决方法不需要依赖项,比如需要安装boost库。
我一直在试图在Excel中生成数据。 我生成了.CSV文件。 因此,这很容易。 但生成图很难在Excel中...使用python在excel中生成图形
我在想,是python能够在excel中生成数据和图吗? 如果有示例或代码片段,请随时发布:)
或者一种解决方法可以使用python生成图形格式的图形,如.jpg等或.pdf文件也可以。只要解决方法不需要依赖项,比如需要安装boost库。
你有2种选择:
如果您使用的是Windows,你可以使用pywin32(包含在ActivePython)库使用OLE automation Excel自动运行。
from win32com.client import Dispatch
ex = Dispatch("Excel.Application")
# you can use the ex object to invoke Excel methods etc.
如果您只想生成基本图等,您可以使用matplotlib。
我建议你在从数据文件中绘制图形时尝试gnuplot。
如果您决定使用matplotlib,请查看我的excel到python类PyWorkbooks以获取数据。它使您可以像numpy数组(matplotlib的本地数据类型)一样高效且轻松地检索数据。
@大卫高,我期待在做类似的事情。目前我正在使用原始csv或将其转换为json,然后将其放入由jqplot读取的文件夹中。 jquery plotting and graphing library。然后,我需要做的就是让用户或我自己在任何Web浏览器中显示剧情。
是的,Xlsxwriter [docs] [pypi]在Python中创建excel charts有很多实用工具。您将需要使用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
[Python中,OpenOffice的:编程方式操纵电子表格]的可能重复(http://stackoverflow.com/questions/2356473/python-openoffice-programatically-manipulating-spreadsheets) – 2011-04-06 14:52:17
一点点重复,但我的问题更多。 – 2011-04-06 21:10:57