我正在开发一个涉及在Perl中解析大型csv格式文件的项目,并希望提高效率.
我的方法是split()首先按行显示文件,然后再用split()逗号分隔每行以获取字段.但这是次优的,因为至少需要两次传递数据.(一次用线分开,然后再用每一行分开).这是一个非常大的文件,因此切割加工一半将是整个应用程序的重大改进.
我的问题是,使用内置工具解析大型CSV文件的最有效时间是什么?
注意:每一行都有不同数量的标记,因此我们不能只忽略行并仅用逗号分割.此外,我们可以假设字段将只包含字母数字ascii数据(没有特殊字符或其他技巧).此外,我不想进行并行处理,尽管它可能有效.
编辑
它只能涉及Perl 5.8附带的内置工具.出于官僚主义的原因,我不能使用任何第三方模块(即使托管在cpan上)
另一个编辑
假设我们的解决方案只允许在文件数据完全加载到内存后处理它们.
还有另一个编辑
我刚刚抓住这个问题是多么愚蠢.抱歉浪费你的时间.投票结束.