Python,OpenOffice:以编程方式操作电子表格

Python,OpenOffice:以编程方式操作电子表格,python,excel,openoffice-calc,Python,Excel,Openoffice Calc,我有一个基于电子表格的自动化报告,需要每天创建,其中包括一些图表、聚合函数(如总和和平均值)和格式化单元格(日期、百分比等) 我已经尝试过了,但是Python和don'y都支持图表和函数 此外,试图打开现有的格式化Excel文件并更改某些单元格的值,最终会删除现有文件中的所有图表和函数 有没有一种方法可以将图表和函数写入OpenOffice电子表格,或者至少在不删除数据的情况下更改现有电子表格中的单元格?如果有一种Pythonic方法,我可以轻松地将OO文件转换为Excel文件并交付。您是否正在

我有一个基于电子表格的自动化报告,需要每天创建,其中包括一些图表、聚合函数(如总和和平均值)和格式化单元格(日期、百分比等)

我已经尝试过了,但是Python和don'y都支持图表和函数

此外,试图打开现有的格式化Excel文件并更改某些单元格的值,最终会删除现有文件中的所有图表和函数

有没有一种方法可以将图表和函数写入OpenOffice电子表格,或者至少在不删除数据的情况下更改现有电子表格中的单元格?如果有一种Pythonic方法,我可以轻松地将OO文件转换为Excel文件并交付。

您是否正在寻找以下内容:

是否可以从Python访问Open Office.org API

还是这个

OpenOffice.org API项目

这可能也很有用:

您可以使用一个Python库来使用UNOAPI


是一个在计算文档中执行某些操作的Python示例。

用于轻松创建电子表格:使用或用于python3:…即使项目上次更新是在六年前(2013-07-19),它也可以直接运行,只需查看一个示例。从下载包以获取示例

$ pip install odslib
然后可以像这样创建一个示例电子表格:

#!/usr/bin/python

import sys
import odslib

doc = odslib.ODS()

def writeRow( doc, row, name, power, rating ):
    doc.content.getCell( 0, row).stringValue( name )
    doc.content.getCell( 1, row).stringValue( power )
    doc.content.getCell( 2, row).floatValue( rating )

# the column names
writeRow( doc, 0, "Name", "Power", "Rating" ) 

# some lines of content
writeRow( doc, 1, "Mr. Incredible", "Strength", 0.8 ) 
writeRow( doc, 2, "Elastigirl", "Elasticity", 0.9 ) 
writeRow( doc, 3, "Frozone", "Ice", 0.7 ) 
writeRow( doc, 4, "Syndrome", "n/a", 0.3 ) 
writeRow( doc, 5, "Jack-Jack", "All", 1.0 ) 

doc.save("supers.ods")

我一直在看,但是没有找到关于添加图表和公式的具体解释。谢谢,我会研究的。如果幸运的话,我可以事先创建图表和公式,只需更改单元格的内容。