我有一個播放列表文本文件。我試圖提取藝術家和他們的歌曲列表。有39個行項目和它們將顯示爲:使用公共分隔符將文本行劃分爲元素
拉什 - 紅A部分
藍調旅行者 - 胡克
這是一個Unicode文件。
我試圖用「 - 」作爲分隔符和分裂有行:
x = open(u'list.txt')
for line in x:
line = line.strip()
elements = line.split('-')
artist = elements[0]
song = elements[1]
我得到一個回溯:
Traceback (most recent call last):
File "playlist.py", line 34, in <module>
song = line[1]
IndexError: list index out of range
它出現的分隔符不被認可。如果我註釋掉「song = elements [1]」和印刷藝術家,我會得到整行文字,分隔符和全部。我看到過類似的問題,但我無法從他們的解決方案中獲得足夠的洞察力來完成這項工作。任何幫助,將不勝感激。
你確定你有正確的破折號嗎?嘗試從您正在閱讀的文件中剪切並粘貼精確的符號。 – jonrsharpe 2014-08-27 22:39:50
我認爲它沒有看到短劃線,而是使用unicode表示破折號:\ xe2 – 2014-08-27 22:42:44
使用當前的示例它可以工作''Rush - 紅色區段A「.split(」 - 「)'給我'[' Rush','紅色部門A']',但是在你編輯你的問題之前你已經有了字符串,這是行不通的。「Jace Everett - 壞事是 - 一個孤獨的心的主人」.split(「 - 」)'給出我'''Jace Everett \ xe2 \ x80 \ x93壞事是\ xe2 \ x80 \ x93孤獨之心的主人']'。按照@jonrsharpe的想法直接使用文件中的符號 – bvidal 2014-08-27 22:44:56