簡體   English   中英

在列表中讀取txt文件而不是python中的字符串

[英]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列表(或對其調用strrepr )生成的。

這個特殊的例子可以通過使用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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM