逐行处理和更新大文件
所以我正在处理一个 200 mb 的 txt 文件,我必须读取文件中的每一行更新一两列,然后保存相同的内容。实现同样目标的最佳方法是什么?
我正在考虑加载到数据表中,但是在内存中保存这么大的文件是一个很大的痛苦。
我意识到我应该分批进行,但是实现相同目标的最佳方法是什么?
我不认为我想首先加载到 dB,因为无论如何我都无法进行批量更新。我也必须在那里逐行阅读。
就像更新一样,我的文件基本上具有任何顺序的列,并且我需要始终更新两列或更多列。
谢谢。
So I am processing a 200 mb txt file and I have to read each row in the file update one or two columns and then save the same. What is the best way to achieve the same?
I was thinking of lading into a datatable but holding that big of a file in memory is a big pain.
I realise I should do it in batches but what is the best way to achieve the same?
I dont think I want to load into a dB first cos I cant do a mass update anyways. i Have to do a line by line read there too.
Just as an update my files basically have columns in any order and I need to update two or more columns all the time.
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
读取一行,解析它,并将字段写入临时文件。完成所有行后,删除原始文件并重命名临时文件。
Read a line, parse it, and write fields into a temp file. When all the lines are done, delete the original file and rename the temp file.
要添加蚂蚁所说的内容...
您有选择...
逐行:
<块引用>
:
批量(今天的盒子应该能够处理 200MB,不会出现问题):
<块引用>
To add to what Ants said...
You have options ...
Line by line:
Bulk (today's boxes should be able to handle 200MB w/o problems):