[英]Reading txt file as a list instead of a string in python
我有一個由以下格式的行組成的文件:-
[123, something, some other thing, "text that i want", more details]
例如:-
[1393349463, u'Tue Feb 25 17:31:03 +0000 2014', 438365537261735936, u'A Falcon character poster for Captain America: The Winter Soldier has swooped in', [], [u'totalfilm'], [u'//1bJdCJ2'], [u'http://pbs.twimg.com/media/BhViUNICQAAoBue.jpg'], 369, 362]
現在,我想將其作為列表直接讀取到python中,而不是首先從字符串中讀取,然后通過分割字符串,然后再將其連接起來,這都是因為文本部分可以有一個','而我不想分割它。
我正在尋找這樣的東西:
with open("input.txt") as fp:
for line in fp:
corpus.append(line[3]) #read only text
您的輸入顯然是通過僅調用print
出Python列表(或對其調用str
或repr
)生成的。
這個特殊的例子可以通過使用literal_eval
來處理:
with open("input.txt") as fp:
for line in fp:
obj = ast.literal_eval(line)
corpus.append(obj[3])
但是,這通常不適用於所有Python列表顯示。 而且當它不起作用時…好吧,一般來說您無能為力。 但是,您可以只使用literal_eval
直到遇到錯誤為止,然后針對每個錯誤努力解決如何進行預處理。
正確的做法是生成實際上是可解析的輸出(例如JSON),然后您可以對其進行簡單解析。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.