2017-09-01 59 views
-5

我剛開始使用Python 但現在我碰到這個問題 來了我有一個文本文件名爲personalnumbers.txtPython的accesing文本文件

的文件看起來像這樣

123456, klaas jansen 
654321, antony van morato 
098765, tom van hanks 
Etc 

但現在我想在Python返回並打印這樣的:

klaas jansenpersonalnumber123456

的的antony van moratopersonalnumber654321

等等

是否有人知道該怎麼做呢? 我發現的唯一的事情是如何打開一個文本文件

file_object  = open('personalnumbers.txt', 'r') 

但我不知道如何繼續

+1

你必須首先表現出一定的努力。谷歌有很多基本的python教程供你閱讀。 – stybl

+1

這聽起來像你會通過一些介紹性的Python教程,而不是得到一個勺子給你的答案來更好地服務。 –

+0

https://automatetheboringstuff.com/ –

回答

0
file_object = open('personalnumbers.txt', 'r') 

for entry in file_object.read().split('\n'): 
    name, personalnumber = entry.split(',') 
    print "The personalnumber of {} is {}".format(name.strip(), personalnumber.strip()) 

# output 
The personalnumber of 123456 is klaas jansen 
The personalnumber of 654321 is antony van morato 
The personalnumber of 098765 is tom van hanks 
+0

非常感謝。 for循環後我關閉文件 但由於某種原因,我得到這個錯誤: name,nummer = entry.split(',') ValueError:沒有足夠的值解壓縮(預計2,得到1) – Tijdjes123

1

使用with open(...) as ...最好打開文件(因爲他們,然後自動關閉) 。打開文件後,您將要使用for循環遍歷文件中的行。然後分開每行中的單詞,並從單詞中去掉空格。最後,您可以使用使用%格式來打印文件中每行所需的句子。

with open('personalnumbers.txt', 'r') as file_object: 
    for line in file_object: 
     number, name = [word.strip() for word in line.split(',')] 
     print 'The personalnumber of %s is %s'%(name, number) 
0

通常情況下,您應該首先遵循Python教程;在這裏,你將學習所有的基本的東西有關處理字符串,將它們打印,用列表等

任務本身的工作非常簡單:

with open('personalnumbers.txt', 'r') as f: 
    pnl = f.readlines() 

for l in pnl: 
    pn_record = l.split(',') 
    print('The personal number of {1} is {0}'.format(pn_record[0], pn_record[1].strip()))