![](/img/trans.png)
[英]Copying a specific column from one existing excel file to another file in python
[英]Copying from a specific part of a file to another with python
我正在嘗試將文件的特定部分復制到另一部分。 輸入文件有四行以相同的名稱開頭(在給定的示例中為“ 1”)。 我不完全知道如何只取文件中第一個“ 1”和第二個“ 1”(超過100行...)之間的部分:
··1···1···1
我剛剛開始以下工作:
f_read = open(pathway, "r")
f_write = open(pathway, "w")
cnt = 0
with f_read as f1:
for line in f1:
if line.startswith("1"):
cnt =+ 1
if cnt == 2:
break
而且這里我不知道如何指定我想要的文件部分(從第一個“ 1”到第二個“ 1”)...
有任何想法嗎? 先感謝您!!
基本上,
for line in in_file:
if line.startswith('1'):
break
for line in in_file:
if line.startswith('1'):
break
<do stuff>
這利用了python迭代器是有狀態的事實,並且第二個循環從第一個循環停止的地方開始,而不是從頭開始。
您應該使用with打開兩個文件。 在你的代碼,如果路徑實際上是同一個文件,你立即打開pathway
打開它來讀取,所以你基本上要嘗試遍歷一個空文件后寫的。 您應該使用臨時文件進行寫入,然后根據需要更新原始文件。
with open(pathway) as f_read, open("temp_out.txt", "w") as f_write:
for line in f_read:
if line.startswith("1")
for wanted_line in f_read:
# work on wanted lines
if wanted_line.startswith("1"):
break
with open("temp_out.txt", "w") as f_in, open(pathway, "w") as f_out:
for line in f_in:
f_out.write(line)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.