VBA不再为我裁掉它了。我有很多巨大的Excel文件,我需要进行大量的计算并将其分解为其他Excel / CSV文件。
我需要一种语言,我可以在接下来的几天内接受我需要的语言,因为这是一种紧急情况。我被建议python,但我想与你确认是否有其他任何快速,轻松地处理CSV文件。
答案 0 :(得分:14)
Python是一个很好的选择。 csv
模块可以轻松读取和写入CSV文件(即使是微软,呃,“特殊”版本),Python语法也是轻而易举的。
我实际上建议反对 Perl,如果你是新鲜的。虽然Perl肯定是强大而快速的,但对于那些不熟悉的人来说,它往往是神秘莫测的。
答案 1 :(得分:6)
你需要做什么样的计算?也许R可以替代?
编辑:只是举几个基本的例子
# Basic usage
data <- read.csv("myfile.csv")
# Pipe-separated values
data <- read.csv("myfile.csv", sep="|")
# File with header (columns will be named as header)
data <- read.csv("myfile.csv", header=TRUE)
# Skip the first 5 lines of the file
data <- read.csv("myfile.csv", skip=5)
# Read only 100 lines
data <- read.csv("myfile.csv", nrows=100)
答案 2 :(得分:5)
Python肯定有一个小的学习曲线,并且很好地适用于csv文件
答案 3 :(得分:5)
这项工作有很多工具,但是,Python现在可能是最好的。有一个特殊的模块来处理csv文件。查看官方docs。
答案 4 :(得分:3)
你知道VBA吗?为什么不是Visual Basic 2008/2010,或者也许是C#?我确信像python和ruby这样的语言对于这项工作来说相对容易,但是你已经习惯了“.NET方式”的做法,所以继续使用它们而不是学习一个全新的东西是有道理的。只是为了这份工作。
使用C#:
var csvlines = File.ReadAllLines("file.csv");
var query = from csvline in csvlines
let data = csvline.Split(',')
select new
{
ID = data[0],
FirstName = data[1],
LastName = data[2],
Email = data[3]
};
答案 5 :(得分:3)
你说你有“ excel 文件,我需要进行大量的计算并将其分解为其他 excel / csv文件”但到目前为止所有的答案再谈谈csv ......
Python有一个csv读/写模块,正如其他人提到的那样。还有第三方模块xlrd
(读取)和xlwt
(写入)XLS文件的模块。见the tutorial on this site。
答案 6 :(得分:2)
Perl对于文本的脚本语言来说效率惊人。 cpan.org拥有大量用于处理CSV数据的模块。我也用另一个Perl模块以XLS格式编写和写入数据。如果你能够使用VBA,你当然可以学习Perl(Perl的基础知识很简单,尽管你或其他人编写简洁而神秘的代码同样容易。)
答案 7 :(得分:2)
这取决于您对文件的处理方式。
Python的学习曲线不像R那么陡峭。但是,R有许多内置函数,非常适合于轻松操作.csv文件,特别是出于统计目的。
编辑:我建议单独使用R over Python,只是因为基本操作(读取文件,删除行,删除列等)在R中写入稍快一些比在Python中。
答案 8 :(得分:2)
我试试awk。如果您正在运行Windows,则可以通过cygwin utilities获取awk。
答案 9 :(得分:2)
这可能不是任何人的流行语言,但由于CSV文件是面向行的并且分成字段,因此处理它们只是 awk 的完美应用。它是为处理面向行的文本数据而构建的,可以将其拆分为字段。
大多数其他语言人员将会更加通用,因此在他们中将有更多不适用于处理面向行的文本数据的语言。
答案 10 :(得分:1)
答案 11 :(得分:0)
我很惊讶没有人建议PowerQuery;它非常适合将文件合并和导入到Excel中,可以很好地进行列计算,并且内置了良好的图形编辑器。适用于csvs和excel文件以及SQL数据库和您期望的大多数其他功能。我设法在一天之内就可以启动并运行一些基本的清理和格式化工作,也许花了几天的时间开始编写自己的函数(从GUI中释放出来)
并且由于它实际上只是做数据库的工作,因此有barely any functions可以学习(实际语言称为“ M”)
答案 12 :(得分:-1)
PHP有几个易于使用的csv函数: http://www.php.net/manual-lookup.php?pattern=csv&lang=en