[英]Consolidating two text files with Python
我試圖遍歷兩個不同的文本文件,並根據兩個文件中每一行開頭的帳號創建一個合並文件。 首先,讀取包含語句數據的主文件,並讀取每一行,直到找到與上一行不匹配的帳號,然后開始遍歷第二個文件,並嘗試將任何匹配的帳號與上一個匹配從文件1阻止。進入此部分時遇到麻煩。
一些樣本數據將是:
File1 .... File2
000990 000990是我的伙伴
000990 000990是我的伙伴
000760 000530是我的伴侶
000760 000530是我的伴侶
000530 000999是我的伴侶
000530 000999是我的伴侶
000999
期望的輸出
000990
000990
000990是我的伴侶
000990是我的伴侶
000760
000760
000530
000530
000530是我的伴侶
000530是我的伴侶
000999
000999是我的伴侶
000999是我的伴侶
這是我到目前為止嘗試過的代碼。 任何幫助或建議,將不勝感激。 謝謝
x=open('testaccount.txt')
y=open('accountpartner.txt')
count=1
inv_count=1
for line in x:
if count==1:
a=x.readline()
print('S'+line, end='')
if line[0:6]==a[0:6]:
print('S'+line, end='')
elif line[0:6]!=a[0:6]:
for inv_line in y:
if inv_count==1:
b=y.readline()
if b[0:6]==a[0:6]:
print('I',b,end='')
inv_count+=1
print('break')
print('S'+line,end='')
a=line
count=1
continue
count+=1
print('this is a',a)
為此使用字典。 編寫自己的排序合並要簡單得多。
with open('accountpartner.txt') as aFile:
lookup = {}
for line in aFile:
lookup[line[:6]]= line
def make_groups( source ):
group = []
key= None
for line in source:
if line[:6] != key:
if group: yield key, group
group= []
key= line[:6]
group.append( line )
if group: yield key, group
with open('testaccount.txt') as main:
for key, group in make_groups( main ):
if key in lookup:
print key, group, lookup
else:
print key, group, None
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.