当前位置:  开发笔记 > 编程语言 > 正文

如何在python中将巨大的文件更改为csv

如何解决《如何在python中将巨大的文件更改为csv》经验,为你挑选了1个好方法。

我是python的初学者.我有一个巨大的文本文件(数百GB),我想将文件转换为csv文件.在我的文本文件中,我知道行分隔符是一个字符串"<> <> <> <> <> <> <>".如果一行包含该字符串,我想用"替换它".有没有办法这样做而不必读取旧文件并重写新文件.

通常我认为我需要做这样的事情:

fin = open("input", "r")
fout = open("outpout", "w")
line = f.readline
while line != "":
   if line.contains("<><><><><><><>"):
      fout.writeline("\"")
   else:
      fout.writeline(line)
   line = f.readline

但复制数百GB是浪费.另外我不知道open是否会占用大量内存(它是否将文件处理程序视为流?)

任何帮助是极大的赞赏.

注意:文件的一个例子是

file.txt
<><><><><><><>
abcdefeghsduai 
asdjliwa
1231214 ""
<><><><><><><>

将是csv中的一行和一列.



1> Hank Gay..:

@理查德 - 勒瓦瑟

我同意,sed似乎是正确的方法.以下是OP描述的内容:

 sed -i -e's/<><><><><><><>/"/g' foo.txt 

这将在现有的地方进行替换foo.txt.出于这个原因,我建议将原始文件置于某种版本控制之下; 任何DVCS都应符合要求.

推荐阅读
有风吹过best
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有