我们每个月收到的发票文件总是大于2GB,我们的印刷厂有1.1GB的限制,我们目前手工完成所有这些过程。
此应用程序的第一步是能够将这些巨大的2GB文件拆分为有限的1GB文件,其方式不会破坏每个CSV条目,并且每个文件从开始到结束都是可读的而不会破坏任何数据。
我如何将文件拆分给我以上的要求?
CSV文件上有这样的处理库吗?
答案 0 :(得分:2)
如何将源中的前1 GB数据复制到新文件中,然后向后搜索最后一个换行符,然后截断新文件。然后你知道第一个文件有多大,然后重复该过程,从那一点开始第二个新文件到1 GB。几乎任何语言对我来说都是直截了当的(你提到过C#,我最近没有用过它,但当然它可以很容易地完成这项工作)。
您没有明确是否需要将标题行(如果有)复制到每个生成的文件中。同样,应该是直截了当的 - 只需在将数据复制到每个文件之前进行。
您还可以采用在Unix上使用tar
或在Windows上使用类似Zip的实用程序来一般分割文件的方法,然后告诉您的大文件挑战合作伙伴从该格式重建文件。或者只是简单地压缩CSV文件就可以了,并且在实践中让你达到极限。
答案 1 :(得分:1)
您需要照顾一些事项:
答案 2 :(得分:0)
在bash / terminal提示符下,写下:
man split
..然后
man wc
..只需计算文件中的行数,除以X,输入要拆分的数字,并且X文件小于1.1GB(如果x = filesize / 1.1)