使用odfpy从ods TableCell提取文本

你好呀,
我正在失去头发,试图弄清楚我如何真正获得文字
从现有的.ods文件中.目前我有:
#!/usr/bin/python
从ODF.openocument导入电子表格
从ODF.openocument Import Load
来自odf.table Import Tablerow,Tablecell
从ODF导入文本
doc = load("/tmp/match_data.ods")
d = doc.spreadsheet
行= d.getElementsbytype(tableerow)
对于行中的行:
单元格= row.getElementsbytype(tablecell)
用于细胞中的细胞:
打印dir(cell.getElementsbytype(text.p))
这是一个包含200行的电子表格,每个行都有4个单元格
包含字符串.我想做的是这样的事情:
对于行中的行:
单元格= row.getElementsbytype(tablecell)
users.append((单元[0].值,单元格[1].值,单元格[2].值,单元格[3] .Value))
因此,我想知道的是如何真正从中获取价值
细胞.我已经阅读了ODFPY API文档(这是
几乎完全专注于写作,而不是阅读)和谷歌搜索
信息,但我仍然没有找到任何东西.

# 回答1


好的.整理出来,但只有在往返后才
xml.minidom.这是工作代码:
#!/usr/bin/python
从ODF.openocument导入电子表格
从ODF.openocument Import Load
来自odf.table Import Tablerow,Tablecell
从odf.text导入p
doc = load("/tmp/match_data.ods")
d = doc.spreadsheet
行= d.getElementsbytype(tableerow)
对于行中的行[:2]:
单元格= row.getElementsbytype(tablecell)
用于细胞中的细胞:
tps = cell.getElementsbytype(p)
如果Len(TPS)0:
对于tps中的x:
打印X.Firstchild
# 回答2


弗兰克图克斯写道:
=======================
CD /OPT
寻找 . -NAME"*ODF*" -print
(空的)
cd /usr/local/lib/python2.5
寻找 . -NAME"*ODF*" -print
(空的)
好的 - 在哪里? :)
steve nodeby@@hughes.net
# 回答3


8月27日,上午3:04,Norseman =======================
CD /OPT
寻找 . -NAME"*ODF*" -print
(空的)
cd /usr/local/lib/python2.5
寻找 . -NAME"*ODF*" -print
(空的)
好的 - 在哪里? :)
考虑使用:
查找-http -google" odfpy"
;-)
# 回答4


Ciaran Farrell写道:
======================= cd /optfind. -name"*odf*" -print(empty)cd/usr/local/lib/python2.5find. -Name"*odf*" - print(empty)
好的 - 在哪里? :)

对不起.我很愚蠢.该模块不是标准性Libary的一部分.
它在http://opendocumentfellowship.com/projects/odfpy
西亚兰
==============
我得到了下载,一切都很好. setup.py编译确定,
安装将其放置在其所属的位置.
作为测试,我去尝试了Odflint,并继续发现Zlib找不到错误.
它是安装(/usr/local/lib)和python zlib things .py,.pyc
而且.不确定发生了什么.
我看了看Python.2.5.2的zipfile.py
声明:导入Zlib被更改为导入Libz作为Zlib
(所有lib均以lib的前缀...按照惯例)
测试下方的问题发生在有或没有我的改变的情况下.
测试我跑了:
Python
(在yah de yah yah上签名)
导入Zipfile
zipfile.is_zipfile(" z) X") 错误的 zipfile.is_zipfile(" zz.zip") 真的 zipfile.is_zipfile(" zx.zip") false(不存在文件 - 没有产生错误,但请回答正确) 因此,所有人都返回了正确的答案. 发行python代码按预期运行. 然而: odflint ostuf2.odt | \ __ python/usr/local/bin/odflint ostuf2.odt |/两个返回以下: Trackback(最近的最新电话): 文件"/usr/local/bin/odflint",第213行,<模块> Lint(sys.argv [1]) 文件"/usr/local/bin/odflint",第197行 content = zfd.read(zi.fileName) 文件"/usr/local/lib/python2.5/zipfile.py",第498行,in Read "去压缩需要(丢失的)Zlib模块" RuntimeError:de-Compression需要(缺少)ZLIB模块 任何人: 我错过了什么? 似乎Odflint仅使用Zipfile.参考. 系统:2.4GGHz笔记本电脑上的Slackware 10.2 steve nodeby@@hughes.net

标签: python

添加新评论