gpt4 book ai didi

python - 如何从命令行 Python 脚本将所有工作表保存在 LibreOffice Calc 电子表格中

转载 作者:太空宇宙 更新时间:2023-11-03 11:53:08 27 4
gpt4 key购买 nike

我正在尝试使用命令行程序将工作表(总共四张)从 LibreOffice ODS 电子表格文件导出为 CSV。
我正在使用基本上是 PyODConverter.py 的 https://github.com/mirkonasato/pyodconverter .

我面临的问题是,将/所有/四张纸保存在文件中(当前的方法是将它们保存在每张纸的单独文件中)。

免责声明:我(目前)对使用 Python 编程并没有太大的信心。不管怎样,在前面提到的 python 脚本中,在转换函数的末尾,我添加了这个:

    try:        oSheets = document.Sheets        for i in range( oSheets.Count ):            sheet = oSheets.getByIndex( i )            document.CurrentController.setActiveSheet( sheet )            outputUrl = self._toFileUrl( sheet.Name + ".csv" )            print sheet.Name + " " + outputUrl            document.storeToURL( outputUrl, self._toProperties( storeProperties ) )    finally:        document.close(True)


但是,这样做是将当前事件的工作表保存四次。奇怪的是,这个片段确实正确地“访问”了所有工作表(它们的名字是连续报告的),但是在保存它们时,总是保存同一张工作表。所以我最终得到了四个相同的 CSV 文件。

预期的结果如此含糊不清,以至于我开始认为它无法完成。

(关于操作环境的旁注:我有一个 LibreOffice 监听器正在运行,所以一切都已设置好,脚本实际上可以运行,只是结果不如预期)。
感谢您提供任何见解。

最佳答案

您没有此处的所有代码,但如果您使用 pyodconverter 作为框架,问题可能出在以下行:

     loadProperties = { "Hidden": True }

设置 Hidden 属性后,setActiveSheet 方法不起作用。在不将 Hidden 设置为 true 的情况下尝试。

关于python - 如何从命令行 Python 脚本将所有工作表保存在 LibreOffice Calc 电子表格中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20714857/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com