1

我有一个 excel 电子表格(版本 1997-2003)和另一个非特定的数据库文件(一个 .csy 文件,我假设它可以被解析为文本文件,因为它看起来就是这样)。我需要从两张表中获取信息,将它们匹配起来,将它们放在一行上,然后将其打印到文本文件中。我打算为此使用 python,因为将 Visual Studio 2010 的 python 插件与 xlrd 包一起使用似乎是我能找到的用于 excel 文件的最佳方式,而我只是将 python 中的默认包用于其他文件。

python 会是学习和编写这个脚本的一个不错的语言选择吗?除了一点点 VBS 之外,我不熟悉脚本语言,所以任何语言对我来说都是一种学习体验。

将 xls 转换为 csv 不是一种选择,有太多的 excel 文件,而且它们的不稳定格式会使通过 csv 钓鱼比使用 xlrd 更加困难。

4

3 回答 3

2

python 有一个内置的 csv 阅读器模块http://docs.python.org/library/csv.html,还有一个名为 xlrdr 的 3rd 方模块:http: //www.python-excel.org/

这两个库都允许您将文件读入列表或字典中,您可以在其中编写脚本。最后你可以写成 csv 甚至 xls 格式

于 2012-06-13T19:11:08.850 回答
1

我专门针对您问题的一部分回答您的问题,该问题涉及您应该学习哪种编程语言来处理本机 Excel 或 .csv 文件。

Python 是一种非常优秀的“瑞士军刀”语言。它的 csv 模块非常棒http://docs.python.org/library/csv.html

如果 Excel 文件是非 ascii(不是 .csv,而是 .xls 和其他)格式,请从这个问题开始。我没有使用过也不熟悉这些模块。

如果你永远不会在 Windows 以外的任何平台上编程,Python 仍然是一个不错的选择,但我会研究 C# 只是为了看看该语言有哪些库支持。

我希望这可以帮助你。

编辑:2014 年 8 月 29 日(一年多后)

我对你学习 Python 的感觉仍然相同,但我想到了另外两种语言,Clojure 和 Perl。

如果你想学习一门函数式语言,我相信 Clojure 是一个不错的选择,尽管它可能需要比 Python 更多的时间来学习。Clojure 还有用于处理 csv 文件的优秀外部库。

Perl 当然有一个或多个 csv 包。对于 web,至少对我来说,Perl 更通用一些,而运行 Clojure 需要您使用 web 管理器运行 Java servlet(或等效)管理器。

于 2012-06-13T20:09:36.960 回答
-1

Python 对初学者很友好,并且擅长字符串操作,因此它是一个不错的选择。我不知道awk在没有编程经验的情况下学习有多容易,但我认为它或多或少地针对处理 csv 进行了优化。

于 2012-06-13T18:19:32.103 回答