我試圖合併基於公共列的兩個文本文件中的選擇列。我正在這樣做,以便我可以將它導入到MySQL中。顯然,在SQL中,這將是一個簡單的查詢來獲取信息,但我實際上需要一個單獨的永久表與指定的連接,因此我需要爲導入創建此文本文件。基於Python中的公共列合併兩個文本文件
這是我目前使用的代碼:
import csv
with open('locations.txt', 'rb') as l,\
open('checkins.txt','rb') as c,\
open('location.txt','w') as location:
writer = csv.writer(location, delimiter='\t')
for line in c:
words = line.split()
for lines in l:
word = lines.split()
writer.writerow([word[:], words[3], words[4], words[6:16]])
下面是示例輸出:
['220811', 'Flemington', '2010-10-23'] 59.31297463 '\t' 18.02006155 '\t' ['59.2968', '18.0313', '1.91024672383817', '12420', 'Bandhagen', 'SE']
(順便說一句,我不斷收到撇號和括號我輸出。有沒有辦法擺脫這些?我沒有問題,直到我導入csv並使用括號的編輯器方法,所以我猜這就是問題所在。)
我想要的輸出是從位置.txt的第1列和checkins.txt的第5列加入的數據。我應該找到一種方法來根據我想要加入的列對兩個文本文件中的信息進行排序嗎?
此外,第5列中的位置列1中不應存在任何不同的信息,但checkins.txt文件中第5列中將存在重複項。有沒有適當的方法來處理這個問題? (我想保持與第1倍中的值的locations.txt相關聯的一式兩份)
爲什麼不在SQL中通過選擇連接到一個新表中來做到這一點? – ydaetskcoR
這可能是一個非常愚蠢的問題,但我可以做到這一點?加入後我可以在數據庫中創建一個永久表? – Christina
你需要'INSERT INTO [tablename] SELECT ....'用於MySQL。 MySQL文檔在這裏:http://dev.mysql.com/doc/refman/5.6/en/insert-select.html – ydaetskcoR