[英]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.