[英]Create Loop from Existing Code
下面的代碼將打開一個.csv文件,並在行“ 0”處插入標頭
我想要做的是創建一個循環,這樣我可以將代碼指向目錄,並逐個循環遍歷每個文件。 目錄中的每個文件都有2300萬行,當我嘗試編寫循環時遇到內存錯誤。 下面的代碼對於單個文本文件可以正常工作。
import os
L = list()
f = open(in.txt, 'rb')
for line in f.readlines():
L.append(line)
L.insert(0,"x,y\n")
f.close()
f1 = open(in.txt, 'wb')
for line in xrange(len(L)):
f1.write(L[line])
f1.close()
是的,不要那樣做。 打開新文件,寫出標題,使用shutil.copyfileobj()
復制內容,然后重命名。
Readlines將整個文件讀入內存。 這樣做一次一次讀取文件。
for line in f:
L.append(line)
您無需在第二個循環中使用xrange。 您可以直接在數組上循環。 您錯誤地關閉了循環中的文件。 嘗試:
for line in L:
f1.write(line)
f1.close()
編輯
Ignacio為該問題提供了更好的解決方案,但總的來說,您應該使用我的解決方案遍歷文件中的行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.