我有這個項目,我必須在Python中編寫代碼,但對於初學者來說,這是非常困難的。基本上,我從來沒有用python進行編程,並且從昨天開始只開始谷歌學習,所以我想也許你們可以幫助它,因爲我甚至無法開始解決這個問題。從文本文件中選擇特定的信息並將它們轉換爲Python中的數組/列表
我給出一個初始文本文件,讓我們input.txt中調用它,它具有以下列方式如下數據:
Thomas Hales
12 2345
45 6780
Peter Lebones
10 15430
11 1230
23 3450
John White
2 12130
11 32410
15 4520
有根據他們給出的姓名和電話號碼。出於此問題的目的,左列中的數字僅僅是標識號。右欄中的數字是人們在銀行投資的金額。
我應該採取文本文件中的所有數據,以各種方式操縱它,然後創建一個新的文本文件(所有這些都由python運行的腳本完成),稱爲output.txt 上面的例子中,包含此:
Thomas Hales 45
Peter Lebones 10
John White 11
我有這個地步(但它不工作,再加上它是一團糟,我與別人的幫助下,誰也不會知道是不是真的做到了。他在做什麼):
import sys
import subprocess
import re
import string
try:
fread=open(sys.argv[1]).readlines()
except IOError:
print "There is no file like that!"
sys.exit()
except IndexError:
print "There is no argumentum given"
alpha = string.ascii_letters
writeout=open("result.txt","w")
inputarray=fread.readlines()
for ... in inputarray: # not sure what goes in the "..." part
array=inputarray.split('\n')
for i in range(len(array)-1):
if array[i].isalpha():
writeout.write(array[i]+" ")
fread.close()
writeout.close()
所以基本上,我給了一個文本文件。那麼我應該爲每個人選擇最高的投資,並將左欄中的數字與最高的投資相關聯。然後,我應該讓腳本製作一個output.txt文件,其中包含每個人的姓名和最高投資的「Id號碼」。
非常感謝你的幫助。現在唯一的一點是我嘗試使用execfile(「filename.py」,'input.txt')運行它,但它說TypeError必須不是str。通常我知道以python filename.py'input.txt'運行會更好,但實際上,我運行的是Windows 7,並且我昨天試圖用python file.py打開任何文件並且沒有任何工作。該文件與python.exe位於相同的路徑,所以不知道有什麼問題。 – user1966576
嗯,我剛剛讀到你不能傳遞參數與execfile ...但我無法得到它打開腳本傳統的python script.py arg1方式,並且子進程不工作或者...我可以運行文件與execfile,但它說它缺少一個參數... – user1966576
'subprocess'應該在Windows上工作得很好。確保你使用文件的* full *路徑。 –