【问题标题】:Where should I post my python code?我应该在哪里发布我的 python 代码?
【发布时间】:2010-10-08 02:29:00
【问题描述】:

今天我需要从一个 xlsx 文件(Office open XML 电子表格)中解析出一些数据。我本可以在 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。

编辑:哎呀,我在 codeproject 的整个帖子都丢了,我写得真好。去他妈的,我花了更多的时间来尝试分享这个,而不是编码它。所以我现在称它为我的部分完成了。除非我决定稍后再调整它。

【问题讨论】:

  • 请使用“excel-2007”标签而不是“xlsx”。标记问题时请注意建议提示:名称后数字小于 10 的任何标记都可能是错误的。

标签: python excel-2007


【解决方案1】:

我可以谦虚地推荐我的网站吗? http://utilitymill.com。它不仅可以让您发布您的 Python 代码,还可以使其成为可运行的 Web 实用程序。

用户可以协作编写代码和撰写文章,它甚至免费为您提供该实用程序的自动 RESTful API。

【讨论】:

    【解决方案2】:

    一般来说,CodeProject 是发布代码的好地方,只要你愿意写一篇关于代码的小文章。 (CodeProject 的优点之一是它们确实需要对代码进行一些冗长的说明。)该网站获得了大量的流量,因此您在此处发布的任何内容都会被看到。

    【讨论】:

      【解决方案3】:

      呃,有一个更具描述性的标题,我相信很多人都会在这里找到它。(但我不知道不是问题标签)。

      因此,您可以获得一个免费的博客,只需将您想要分享的内容放入其中,这样您就可以在需要时获得稳定的在线参考。

      【讨论】:

      • 我使用了一个例子,但想要一个一般性的答案。我记得以前遇到过同样的情况,所以我认为 SO 社区会为我提供一些好的答案。
      • -1:这不是博客,也不是博客的替身,也不是博客之类的东西。有许多免费博客——将其中一个用作博客。一个简单的代码发布被关闭为“不是真正的问题”。
      • 好吧,我确实提到了获得免费博客!
      • @Sujoy:你提到了它。您还说“人们会在这里找到它”,这是我反对的。您可能需要修改答案以改变重点。
      【解决方案4】:

      如果您的代码足够短,可以复制和粘贴,您可能希望将其发布为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 将构建和上传 source distribution。

      一旦您的包成为 Python 包索引的一部分,其他 Python 程序员就可以使用包括easy_install your_package在内的许多工具自动下载和安装它。

      【讨论】:

      • 我不想维护一个项目。而且我认为小代码 sn-p 更有用,只需在需要的地方复制和粘贴,直到有人做出更严重的事情。
      【解决方案5】:

      GitHub 也是发布此内容的好地方。特别是因为这将允许其他人快速分叉他们自己的副本并进行他们需要的任何改进或修改。然后,任何需要这些更改的人也可以使用这些更改。

      【讨论】:

      • 你认为这家伙会为了发布 154 行源代码而学习 GIT?哈!
      • 我也使用 git,我喜欢它是多么容易……破坏我的工作副本!烧掉!
      【解决方案6】:

      在我看来Python Package Index 是适合你的地方

      【讨论】:

        【解决方案7】:

        您应该将其发布到here。这里有很多食谱,您的食谱非常适合。

        Stack Overflow 旨在成为一个 wiki,人们可以在其中搜索问题并找到答案。话虽如此,如果您想在此处发布它,您要做的就是打开一个与您的答案相关的问题,然后用您的答案回答您自己的问题。

        【讨论】:

        • 我不想在堆栈溢出时发布它,因为我认为这不会添加到这个站点。我会将其发布到 activestate,当他们的邮件正常运行并向我发送激活邮件时,我就可以实际登录了。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-09-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-02-27
        • 2014-02-27
        相关资源
        最近更新 更多