我有一個txt文件的數據集,其中每行包含4個數據點,由空格分隔。由於收集數據時出現一些錯誤,有些行會分成兩行,並會顯示一些空格而不是實際的數據。因此,輸入應該是這樣的:條件後合併行
data data data data
data data data data
data data data data
,但事實上確實是這樣的(第二行有最終三個空間,並與三個空格第三次首發):
data data data data
data data
data
data data data data
我想爲缺失的數據添加「n/a」,並在第二個示例中將第二行和第三行合併爲一行。最後我想把它保存爲一個新文件。
這是我的嘗試:
f1 = open("pilTest.txt","r")
f2 = open("pilFix.txt", "w")
stop = 0
for line in f1:
# Loop over each word in line
words = line.split(" ")
for i in range(len(words)):
if len(words[i])!=0:
f2.write(words[i])
f2.write(" ")
elif stop==0:
f2.write("n/a")
f2.write(" ")
stop = 1
建議?
我得到的是
data data data data
data data n/a
data
data data data data
所需的輸出是
data data data data
data data n/a data
data data data data
它,它不工作?如果是這樣怎麼不起作用?它(不)做什麼?你期望它做什麼,它做了什麼? –
它不工作。它在第二行後輸出一個「n/a」,但我無法將第三行添加到第二行。我將添加所需的輸出。 –
你知不知道它總是第三列「n/a」去哪?或者,您是否從第二列之後的換行符以及下一行前面的額外空格處獲得了這些信息? – Evert