第一次编写脚本,不确定使用什么语言(解析excel和其他文件)

时间:2012-06-13 18:16:40

标签: python excel file-io scripting

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

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

将xls转换为csv不是一个选项,有太多的excel文件,并且它们的格式错误会使使用xlrd更难以捕获csv。

3 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

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

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

如果Excel文件是非ascii - 而不是.csv而是.xls和其他格式,请以this question开头。我没有使用过,也不熟悉这些模块。

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

我希望这会对你有所帮助。

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

我对你的学习Python仍有同样的看法,但我想到了另外两种语言,Clojure和Perl。

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

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

答案 2 :(得分:-1)

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