Как загрузить текстовый файл в Python? - PullRequest
0 голосов
/ 28 августа 2018

У меня есть такой текстовый файл:

[0.52, '1_1man::army'], stack 
[0.45, '3_3man::army'], flow
[0.52, '1_1man::army'], testing 
[0.52, '2_2man:army'], expert

Как загрузить файл и распечатать все значения для

'1_1man::army', '3_3man::army', '1_1man::army' and '2_2man:army'

Мой код:

text = open("text.txt", "r").readlines()
print(text[1])

Затем для реализации решений поделились несколько хороших людей. Я не могу использовать их коды, так как файл, который у меня есть, отличается от того, который я разместил (я хочу попробовать этот новый пример).

Как организовать список по аналогичному пункту в определенном месте

Ответы [ 2 ]

0 голосов
/ 28 августа 2018

Если этот формат является жестким во всем файле. Вы можете просто использовать split() для извлечения этих значений между кавычками

with open("text.txt", "r") as file:
    for line in file:
        print (line.split("'")[1])

line.split("'") разрезает строку, когда видит '. В вашем случае каждая строка будет разбита на список из 3 элементов:

[0.52, 
1_1man::army
], stack

Вы хотите средний, который имеет индекс [1]. Так что line.split("'")[1] дает вам именно это.

0 голосов
/ 28 августа 2018

Более простой подход к этому - создать файл json. Python был хорошей встроенной библиотекой для чтения json. Вот как должен выглядеть json:

{
    "1_1man::army": "stack",
    "3_3man::army": "flow",
    "1_1man::army": "testing",
    "2_2man::army": "expert",
}

Вы должны ввести это и изменить расширение файла с .txt на .json. Вы можете прочитать это так:

import json

with open("YourText/JsonFileHere.json") as f:
    data = json.load(f)

// Get first 1_1man::army value
data[0]["1_1man::army"]

// Get 3_3man::army value
data["3_3man::army"]

// Get second 1_1man::army value
data["1_1man::army"]

// Get 1_1man::army value
data[1]["1_1man::army"]

// in order to add things to the json do this:
data["What you want the new key to be called"] = "What the value is"

Дайте мне знать, если это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...