簡體   English   中英

在 python 中合並兩個逗號分隔的 txt 文件

[英]combine two comma seperated txt file file in python

我正在嘗試將兩個 txt 文件組合在一起。 這就是我到目前為止所擁有的

fileLake = open("lakes.txt", "r")  # has two columns
listLake = []
for lay in fileLake:
    line = lay.strip().split(",")
    nameLake = line[0]
    waterQuality = line[1]
    listLake = nameLake, waterQuality
    print(listLake)
      
    
    
filePortage = open("portages.txt", "r") # has three columns 

for ages in filePortage:
    inLand = ages.strip().split(",")
    lake1 = inLand[0]
    lake2 = inLand[1]
    distance = inLand[2]
    data = lake1, lake2, distance
    
    
    
     result = data, listLake
     print(result)

output 應該是這樣的

manomin, winnanage, 0.6, upper, good 

但由於某種原因,我不斷得到湖的最后輸入與portage文件的每一行相結合,就像這樣

(('Manomin', ' Winnange', ' 0.6'), ('Caddy', ' average'))
(('Winnange', ' Upper Stewart', ' 0.8'), ('Caddy', ' average'))
(('Lower Stewart', ' Upper Stewart', ' 0.1'), ('Caddy', ' average'))
(('Lower Stewart', ' Geejay', ' 0.4'), ('Caddy', ' average'))
(('Manomin', ' Geejay', ' 0.75'), ('Caddy', ' average'))
(('Crabclaw', ' Winnange', ' 1.25'), ('Caddy', ' average'))
(('Crabclaw', ' Eagle', ' 0.35'), ('Caddy', ' average'))
(('Falcon', ' West Hawk', ' 1.7'), ('Caddy', ' average'))
(('West Hawk', ' Caddy', ' 2.4'), ('Caddy', ' average'))

有人可以解釋一下,我在這里做錯了什么

謝謝你

假設這兩個文件具有相同的行數,這將做到:

fileLake = open("lakes.txt", "r")  # has two columns
filePortage = open("portages.txt", "r") # has three columns 

for line1,line2 in zip(fileLake.readlines(), filePortage.readlines()):
    lake = line1.strip().split(",")
    port = line2.strip().split(",")
    print( ",".join(lake + port) )

有多種解決問題的方法。

你做錯的事情是:首先迭代 filesLake,在第 7 行中,列表的最后一個元素(文件元素)被分配給 listLake,所以在最后第二行 listLake 將只有一個元素,那就是為其他文件的每個元素添加(因為我們在第二個文件的循環中)

FIX:在第 7 行:將listLake = nameLake, waterQuality替換為listLake.append(tuple(nameLake, waterQuality))

在第二個循環中做同樣的事情,對於data列表 - > append 元組數據,然后在倒數第二行連接兩個列表(將其保留在第二個循環之外) result = data + listLake

不執行任何其他檢查。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM