今天我需要从xlsx文件解析一些数据(Office open XML Spreadsheet)。我本可以在openoffice中打开文件并导出到csv。但是我稍后需要从这个电子表格重新导入数据,我想取消手动操作。
我在网上搜索xlsx解析器,我发现的只是一个stackoverflow问题同样的问题:Parsing and generating Microsoft Office 2007 files (.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 rocks。
编辑:Gah,在codeproject上丢失了我的全部帖子,我做了这么好的写作。拧紧它,我花了更多的时间来分享它,而不是编码它。所以我现在称它已经完成了。除非我决定稍后调整它。
答案 0 :(得分:5)
你应该发布它here。这里有很多食谱,你的食谱非常适合。
Stack Overflow是一个wiki,用户可以搜索问题并找到答案。话虽这么说,如果你想在这里发布,你会做的是打开一个与你的答案相关的问题,然后用你的答案回答你自己的问题。
答案 1 :(得分:5)
GitHub也是发布此内容的好地方。特别是因为这将允许其他人快速分叉他们自己的副本并进行他们需要的任何改进或修改。然后,任何想要它们的人都可以使用这些更改。
答案 2 :(得分:2)
如果您的代码足够短,可以复制和粘贴,您可能希望将其发布为Python recipe。该网站是学习Python技术的绝佳资源,其最佳内容为compiled into a book。
如果您的代码可以原样重用,那么您应该将您的Python代码发布在Python Package Index(pypi)中。组织您的源代码read this tutorial,了解如何为您的软件包编写setup.py
。获得免费的pypi帐户并撰写setup.py
后,请运行python setup.py register
以声明您的包裹名称,并将其元数据发布到索引中。 setup.py
还可以upload您的包的来源或二进制文件到pypi,例如python setup.py sdist upload
将构建并上传 s 源 dist 组织
一旦你的软件包是Python软件包索引的一部分,其他Python程序员可以使用包括easy_install your_package
在内的多种工具自动下载和安装它。
答案 3 :(得分:1)
错误,有一个更具描述性的标题,我相信很多人会在这里找到它。(但我不知道这个不是问题的标签)。
因此,您可以获得一个免费博客,只需输入您想要分享的内容,这样您就可以随时获得稳定的在线参考。
答案 4 :(得分:1)
一般来说,CodeProject是发布代码的好地方,只要您愿意撰写一篇关于代码的小文章。 (关于CodeProject的一个好处是它们确实需要对代码进行一些措辞。)该网站获得了大量的流量,因此您发布的任何内容都将被看到。
答案 5 :(得分:0)
在我看来,Python Package Index是适合你的地方
答案 6 :(得分:0)
我可以谦卑地建议我的网站; http://utilitymill.com。它不仅可以发布您的Python代码,还可以使其成为可运行的Web实用程序。
用户可以对代码和文章进行协作,甚至可以免费为您提供自动RESTful API。