最小的学习曲线语言与CSV文件一起工作
VBA不再为我切割。 我有很多庞大的Excel文件,我需要做大量的计算,并将其分解到其他Excel / CSV文件。
我需要一种语言,我可以在接下来的几天内采取措施来做我所需要的,因为这是一种紧急情况。 我已经被build议python,但我想检查一下,如果有任何其他的CSV文件处理快速和容易。
这个工作有很多工具,但是,现在Python可能是最好的。 有一个特殊的模块来处理CSV文件。 检查官方文档 。
Python是一个很好的select。 csv
模块使得读取和写入CSV文件变得简单(甚至是微软的“特殊”版本),Python语法也变得轻而易举。
我实际上推荐反对 Perl,如果你来到它新鲜。 虽然Perl无疑是强大而快速的,但对于不熟练的人来说,这往往是难以理解的。
你需要做什么样的计算? 也许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)
Python肯定有一个小的学习曲线,并与csv文件很好地工作
你说你有“ excel文件,我需要做大量的计算,并把它们分解成其他excel / csv文件”,但迄今为止所有的答案只谈论csv …
Python有一个csv读/写模块,正如其他人所说的。 还有用于XLS文件的第三方模块xlrd
(读取)和xlwt
(写入)模块。 请参阅本网站上的教程 。
你知道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] };
- .NET:Linq到CSV库 。
- .NET:使用LINQ读取CSV
- Python:读取CSV文件
对于文本的脚本语言,Perl的效率是惊人的。 cpan.org拥有大量用于处理CSV数据的模块。 我还用另一个Perl模块写入和写入了XLS格式的数据。 如果你能够使用VBA,你当然可以学习Perl(Perl的基础知识很容易,但对于你或其他人来说,编写简洁而又神秘的代码是很容易的)。
这取决于你想用文件做什么。
Python的学习曲线比R的陡峭。 但是,R有一些内置的函数,使其非常适合于轻松操作.csv文件,特别是用于统计目的。
编辑:如果仅仅因为基本操作(读取文件,删除行,删除列等)在R中比在Python中写入要快一些,我会推荐R over Python。
我会尝试一下awk 。 如果你正在运行windows,你可以通过cygwin工具得到awk。
这可能不是任何人的stream行语言,但由于CSV文件是面向行的并被分割成字段,所以处理它们只是awk的完美应用。 它是为处理面向行的文本数据而构build的,可以将其分割为多个字段。
大多数其他语言的人将推荐更通用,所以会有很多其他语言,这不是nessecarily适用于处理面向行的文本数据。
PowerShell内置了CSV导入function 。
语法丑陋就像死亡一样,但它被devise成对pipe理员来说比程序员更有用 – 所以谁知道,你可能会喜欢它。
这应该是一个快速起床的语言,无论好坏。
PHP有几个简单易用的csv函数: http ://www.php.net/manual-lookup.php?pattern=csv&lang=en