簡體   English   中英

如何在python中將file.txt放入多個列表中

[英]How to put a file.txt into more than one list in python

我試圖將我的file.txt放入一個列表中,然后將每個索引放入不同的列表中,而所有列表都保留在初始列表中。 到目前為止,我已經能夠將它添加到一個列表中。

這是我的代碼:

with open("evenements.txt", "r", encoding="utf-8-sig") as evenement:
    liste_evenement = evenement.readlines()
    print(liste_evenement)

我希望我的代碼返回:

[['index_1'],['index_2'], ...]

我必須使用for循環嗎? 甚至一段while 由於我的evenements.txt每一行末尾的\\n ,我有點困惑,所以如果你能幫我解決這個問題,因為我熟悉.strip()當我在字符串上使用它但它不是工作在一個清單上。

編輯:這是我現在需要做的示例:

我的代碼現在返回:

[['Musique/Shawn Phillips/2018-08-24/2018-08-24'], "Musique/L'avenue Royale fête l'été!/2018-08-25/2018-08-25"], 'Musique/Perséides musicales/2018-08-03/2018-08-03'], 'Musique/Gaétan Leclerc chante Félix et…/2018-08-17/2018-08-17']]

我現在需要做的是,我需要為我的代碼中的每個 '/' 添加一個“,因此在 Musique 和 shawn 之間添加一個“,在 Phillips 和 2018 之間添加另一個,除了年/月/日(看看結果如下。請記住,這只是代碼的一部分,我的列表實際上包含 160 個索引。

所以繼承人的結果,我正在尋找:

[['Danse', 'Samedi de danser...', 202, 202],

您可以使用切片和理解:

with open("yourfile", "r") as f:
    number_of_lists = 4
    lists = [f[i::number_of_lists] for i in range(number_of_lists)]

不確定是否可以直接切片文件; 如果沒有列出所有行的 fa 列表。 正如評論中指出的那樣,您不能直接但可以使用itertools.islice這樣做。 或者列個清單

這從文件中獲取每個第 n 個元素,並用 n 偏移第 n 個元素的開始。

編輯:如果您希望每一行都是一個列表,請閱讀您的評論:

with open("file" ,"r") as f:
    list = [[x] for x in f]

EDIT2:去除換行符:

with open("yourfile", "r") as f:
    number_of_lists = 4
    lists = [[x.rstrip("/n") for x in f[i::number_of_lists]] for i in range(number_of_lists)]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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