今天我需要从xlsx文件解析一些数据(Office open XML Spreadsheet).我本可以在openoffice中打开文件并导出到csv.但是我稍后需要从这个电子表格中重新导入数据,我想要消除手动操作.
我在网上搜索xlsx解析器,我发现的只是一个stackoverflow问题,问同样的事情:解析和生成Microsoft Office 2007文件(.docx,.xlsx,.pptx)
所以我自己动手了.
它有134行代码用于解析和访问电子表格,以及54行单元测试代码.这当然只在我需要它的1个文件上测试,除了它在单元测试中的使用方式之外,现在还没有文档.它使用zipfile,minidom,re和unittest,因此非常便携且独立于平台.
由于我没有博客,并且我没有任何希望将其变成OfficeOpen XML的python库,我很想知道我应该在哪里发布这段代码.我已经解决了一个问题,我相信其他人将来会遇到这个问题.所以我想在公共领域的某个地方发布我的代码供任何人复制并粘贴到他们的应用程序中并进行调整以解决他们的问题.
实现很简单,这里是一个快速概述功能:
workbook = Workbook(filename) # open a file
for sheet in workbook: pass # iterate over the worksheets
workbook["sheetname"] # access a sheet by name, also possible to do by index from 0
sheet["A1"] # Access cell
sheet["A"] # Access column
sheet["1"] # Access row
cell.value # Cell value - only tested with ints and strings.
Run Code Online (Sandbox Code Playgroud)
感谢所有的答复.我打算在activestate上托管它,但是在向我发送激活邮件时页面仍然崩溃.所以我无法激活我的代码来发布它.
我的第二个选择是codeproject,我写了一篇关于该文件的好文章.可悲的是,当我尝试提交帖子时,该页面崩溃了.
所以我把它放在github上,任何看到和分支:http: //github.com/staale/python-xlsx/tree/master
我不想为python项目托管做所有的工作,所以那就是了.
接受git的答案,因为这是唯一对我有用的东西.和git岩石.
编辑:Gah,在codeproject丢失了我的整个帖子,我做了这么好的写作.拧紧它,我花了更多的时间来分享它,而不是编码它.所以我现在称它已经完成了.除非我决定稍后调整它.