python可以读取电子表格中单元格的值吗?

时间:2013-01-28 19:16:11

标签: python openoffice-calc libreoffice qgis

所有

python可以读取电子表格中单元格的值吗?

从地图/ GIS /分析的角度来看:最简单的例子是在给定的shapefile(GIS数据集)上运行缓冲(邻近)工具的脚本。

对于缓冲距离参数,脚本不是仅使用“1000英尺”之类的数字,而是指向电子表格单元格中的值(首选libre或开放式办公室)。

如果有一种通过按钮从电子表格触发脚本的方法,那将是下一步(然后下一步是在电子表格中有一个地图控件来查看更新的结果!)

只是为了深入了解我的目标:我想使用电子表格作为分析'仪表板',用户可以使用不同的参数运行分析 - 公园周围的距离(杂货店等) 。)相距1/2英里对1/4英里...然后电子表格中的另一张表格会显示该附近的人口统计数据。

谢谢!!!

(也发布在这里:https://gis.stackexchange.com/questions/49288/can-python-read-the-value-of-a-cell-in-a-spreadsheet

-MB

3 个答案:

答案 0 :(得分:2)

pyoo是一个简单的包。安装

python-uno
python3-uno

然后安装pyoo

python setup.py install
python3 setup.py install

运行soffice(LibreOffice或OpenOffice)

soffice --accept="socket,host=localhost,port=2002;urp;" --norestore --nologo --nodefault # --headless

以下脚本显示了它在python中的工作原理

desktop = pyoo.Desktop('localhost', 2002)
doc = desktop.open_spreadsheet(path)
sheet = doc.sheets[0]
for i in range(0,14):
  for j in range(0,4):
    print(sheet[i,j].value)

答案 1 :(得分:1)

有一些很棒的Python-Excel工具可用:http://www.python-excel.org

答案 2 :(得分:0)

这一切都很棒,但太模糊了。你在哪里执行install命令?即使你以某种方式弄清楚你必须去pip3.6.exe excript并从那里运行它,它不会找到python3-uno。它会鳍python-uno,但即使这样你也不会在开头使用import uno运行任何脚本,因为缺少元素,这在某种程度上是不可能的。在LibreOffice中以这种方式做最简单的事情是非常困难的。