我一直在尋找周圍的分配類的數據,並沒有運氣找到任何回答我的問題。閱讀文本並在Python
基本上我有以下數據的文件:
Title - 19
Artist - Adele
Year released - 2008
1 - Daydreamer, 3:41, 1
2 - Best for Last, 4:19, 5
3 - Chasing Pavements, 3:31, 7
4 - Cold Shoulder, 3:12, 3
Title - El Camino
Artist - The Black Keys
Year released - 2011
1 - Lonely Boy, 3:13, 1
2 - Run Right Back, 3:17, 10
EOF
我知道如何創建類,以及如何將對象分配到類和值到該對象,但我只是準備把我的頭髮撕掉,我應該如何處理文本。從文本中,我需要爲相冊創建一個標題,併爲其分配相冊的信息。除此之外還有更多的事情需要完成,還有更多的線路需要閱讀,而我只是不知道從哪裏開始。我通過google發現了兩個「album.py」文件,而且我一直無法對如何將解決方案應用於我的案例做出正面或反面的評論。
是的,這是一所學校分配。我做了一些挖掘,發現了一些相關的東西,但我只是不理解它。我對編程一般都很陌生,而且我已經取得了進步,但是這似乎太過頭了。
我知道我會這樣減少採用分體式(\ n \ n)和一系列逐漸變小名單的工作清單,但我想不惜一切代價避免這種方法。
編輯:
目前,最好假設我什麼都不知道。雖然,回答下面的問題:我可以打開文件並閱讀它。如果它是一個一致的CSV格式的文件,我可以編寫代碼來處理所包含的數據,並創建一個使用該數據的類結構。現在我只是遇到了前三行和下面的數字。
2012年4月4日:
好吧,我有一些代碼,我已經離開對於這些評論,它的下面。在代碼
def getInput():
global albums
raw = open("album.txt","r")
infile = raw
raw.close
text=""
line = infile.readline()
while (line != "EOF\n"):
text += line
line=infile.readline()
text=text.rstrip("\n\n")
albums=[str(n) for n in text.split("\n\n")]
return albums
class Album():
def __init__(self, title, artist, date):
self.title=title
self.artist=artist
self.date=date
self.track={}
def addSong(self, TrackID, title, time, ranking):
self.track+={self}
def getAlbumLength(self):
asdf=0
def getRanking(self):
asdf=0
def labels(x): #establishes labels per item to be used for Album Classifier
title=""
artist=""
date=""
for i in range(0,len(albums),1):
sublist=[str(n) for n in albums[i].split("\n")]
RANDUMB=len(albums[i])
title=sublist[0]
artist=sublist[1]
date=sublist[2]
for j in range(0,len(sublist),1):
song_info = [str(k) for k in sublist[3:].split("," and " - ")]
TrackID=song_info[0]
title=song_info[1]
time=song_info[2]
ranking=song_info[3]
getInput()
labels(albums)
個人點評: 我試圖避免得到它進入名單,因爲我已經預見到這個問題。就功能而言,我必須使用每一個血腥的,因爲它在分配要求...我不高興,因爲我可能會繞過使用它們。代碼工作得足夠好,除了我試圖獲取歌曲信息的最後部分。我想將歌曲信息分成列表,這些列表嵌入到相冊信息列表中。就像:
[Album title, Artist, Date released,[01,Song,3:44,2],[02,Song,0:01,9]....]
當前的代碼給我索引超出範圍錯誤截至目前......我使用python3。
TLDR:我的問題的實質也由此從試圖解決如何去啓動的解決方案如何採取列表中的項目,並將其轉換成嵌套的列表一個變化。
也許你可以發佈你到目前爲止?究竟哪一部分你有麻煩?打開一個文件閱讀?如何讀取文件中的行?如何創建相冊類?如何爲類變量賦值? – fitzgeraldsteele 2012-04-03 01:47:50
你爲什麼害怕在名單上分裂? '\ n \ n'是迄今爲止我可以看到的* only *分隔符。如果你不分裂兩條換行符,你將如何劃分一個對象的開始和另一個對象的結束? – mvanveen 2012-04-03 02:14:17