所有
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
答案 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中以这种方式做最简单的事情是非常困难的。