5

全部,

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

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

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

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

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

谢谢!!!

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

-mb

4

3 回答 3

3

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)
于 2014-11-22T21:11:18.730 回答
1

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

于 2013-01-28T21:12:56.293 回答
0

这一切都很棒,但太模糊了。你在哪里执行安装命令?即使您以某种方式发现您必须转到 pip3.6.exe 脚本并从那里运行它,它也不会找到 python3-uno。它会找到 python-uno 但即使那样你也不会在开始时运行任何带有 import uno 的脚本,因为缺少元素,这在某种程度上是不可能的。在 LibreOffice 中,即使是最简单的事情也很难做到。

于 2017-10-24T19:40:26.007 回答