我有另外程序生成的12个.csv文件。 .csv文件包含以逗号分隔的数字数据。
我需要一种简单的方法来累计每个文件中某些列的值,并比较不同文件中的总数,例如将文件1中的总数与文件5中的总数进行比较。
每个文件的格式相同,即每个记录中的5个值,以逗号分隔。 12个.csv文件中的每一个大小约为50 Mb。每个文件都有不同数量的记录。
我工作的环境是“安全的”,除了我在PC上安装的程序外,我无法运行任何程序。我安装了Excel并假设我可以编写VBA代码/宏,并且可以访问命令行。我不能(例如)从USB密钥加载任何东西,并且不能安装任何脚本语言,例如蟒。
我想过手动执行此操作,例如在Excel中打开每个.csv文件,并使用Excel函数(即SUM()
)对列进行总计我的挑战我需要在接下来几周内多次这样做,因为生成.csv文件的新版本,即我现在有第一个版本,当我进行测试时会生成12个文件的许多版本另一个系统。对于每个新版本,我需要对数据求和并跨文件进行比较。
最后要说的是,我无法更改生成.csv文件的系统,例如创建一组总计
我正在寻找一种可以使用的编程解决方案,因为我的资源有限(能够使用PC以外的任何工具)
答案 0 :(得分:0)
Powershell还是批处理脚本? CSV只不过是用逗号分割的文本文件。应该很容易搞砸。
答案 1 :(得分:0)
您应该可以使用excel VBA宏轻松完成此操作,但如果需要加载和转换50MB的csv文件,则可能需要一段时间。
JScript(一种JavaScript的微软形式)通常可在所有计算机上使用,并在Windows脚本主机下运行。只需创建一个扩展名为.js的文件,然后尝试双击即可运行。或者你可以使用扩展名为.vbs的vbscript。
我认为最简单的解决方案是编写一个excel宏(因为excel vba的IDE会受到限制)。
答案 2 :(得分:0)
ADO可以处理CSV文件,然后您可以使用SQL语句对适当的值求和 - 有关详细信息,请参阅this MSDN article。
如果您转到Excel中的Visual Basic编辑器,然后尝试通过Tools
菜单添加一个引用,您应该有几个Microsoft ActiveX数据对象(2.8是最新的)。添加该引用可以让您使用ADO。