今天我需要从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.
感谢所有的答复.我打算在activestate上托管它,但是在向我发送激活邮件时页面仍然崩溃.所以我无法激活我的代码来发布它.
我的第二个选择是codeproject,我写了一篇关于该文件的好文章.可悲的是,当我尝试提交帖子时,该页面崩溃了.
所以我把它放在github上,任何看到和分支:http: //github.com/staale/python-xlsx/tree/master
我不想为python项目托管做所有的工作,所以那就是了.
接受git的答案,因为这是唯一对我有用的东西.和git岩石.
编辑:Gah,在codeproject丢失了我的整个帖子,我做了这么好的写作.拧紧它,我花了更多的时间来分享它,而不是编码它.所以我现在称它已经完成了.除非我决定稍后调整它.
你应该在这里发布.这里有很多食谱,你的食谱完全适合.
Stack Overflow是一个wiki,人们在那里搜索问题并找到答案.话虽这么说,如果你想在这里发布,你会做的是打开一个与你的答案相关的问题,然后用你的答案回答你自己的问题.
GitHub也是发布此内容的好地方.特别是因为这将允许其他人快速分叉他们自己的副本并进行他们需要的任何改进或修改.然后,任何想要它们的人都可以使用这些更改.