2009-11-02 72 views
0

我有12个由另一个程序生成的.csv文件。 .csv文件包含数字数据,用逗号分隔。使用Excel在.csv文件中总计数字

我需要一个简单的方法来累计每个文件中某些列的值,并比较各个文件的总数,例如将文件1中的总数与文件5中的总数相比较。

每个文件的格式相同,即每个记录中的5个值,用逗号分隔。 12个.csv文件中的每个文件都大小约为50 Mb。每个文件都有不同数量的记录。

我工作的环境是“安全”的,我不能跑的比我已经安装了PC我用其他任何程序。我安装了Excel,并假设我可以编写VBA代码/宏,并且可以访问命令行。我不能(例如)从USB密钥加载任何东西,并且不能安装任何脚本语言,例如蟒蛇。

我也想过这样做手工的如在Excel中打开每个.csv文件并使用Excel函数总计列(即SUM()

我的挑战我需要在接下来的几周内多次执行此操作,因为生成了新版本的.csv文件,第一个版本,当我在另一个系统上进行测试时,将会有很多版本的12个文件。对于每个新版本,我需要汇总数据并跨文件进行比较。

最后要说的是,我不能改变这种状况如产生.csv文件导入系统创建一组总计

我在寻找,我可以用编程解决方案,给我的资源有限

+0

我打算建议简单地记录一个宏(打开的文件,移动到最后与CTRL +结束,一个下来,写总和代码,复制到其他列等),但似乎有一个Excel中的错误 - csv在宏里面打开似乎被错误地打开。如果你能找出解决办法,这将是最简单的解决方案。 – Makis 2009-11-02 09:25:40

回答

0

您应该可以使用excel VBA宏轻松完成此操作,但如果需要加载并转换50MB csv文件,可能需要一段时间。

的JScript(JavaScript的一个微软形式)一般适用于所有的机器和Windows脚本宿主下运行。只需创建一个扩展名为.js的文件,并尝试通过双击运行。或者你可以使用带有.vbs扩展名的vbscript。

我认为你最简单的解决方案是编写一个excel宏(因为你将有用于excel vba的IDE,因为它是有限的)。

0

PowerShell的或批处理(使用比什么已经是在PC上其他任何工具的能力)脚本? CSV只不过是以逗号分隔的文本文件。应该很容易把东西搞砸了。

0

ADO可以处理CSV文件,然后您可以使用SQL语句将相应的值相加 - 有关完整详细信息,请参阅this MSDN article

如果你去到Visual Basic编辑器在Excel中,然后尝试通过Tools菜单中添加一个参考,你应该有一些对Microsoft ActiveX数据对象(2.8是最新的一个。)并称参考,您可以使用ADO。

相关问题