Python - извлечение данных из файлов и вставка в массив включает в себя '\ n'. Как не включить его, чтобы я мог отсортировать текст и изменить его? - PullRequest
0 голосов
/ 16 апреля 2020

У меня есть файлы .txt, которые имеют метки категоризации для изображений с каждой отдельной меткой на отдельной строке. Максимальное количество меток или строк равно 7. По-разному выглядит метка и порядок:

label1

label3

label2

label5

Когда я перетаскиваю данные в массив, он включает '\ n' (для новой строки) и просматривает данные в одну строку. Я ожидаю что-то подобное для 3 файлов:

y = ([label1, label3, label2, label5], [label1], [label5, label2, label3])

или хотя бы

y = ((label1, label3, label2, label5), (label1), (label5, label2, label3))

Мой код выглядит следующим образом:

y=[ ]
for path in [f for f in os.listdir(DATA_DIR) if f[-4:] == ".png"]:  # for .png files in directory
    with open(DATA_DIR + path[:-4] + ".txt", "rU") as s:  # opens a .txt file of same name as image
        label = s.read()
        #print(label)
    y.append(label)

Это, однако, дает мне то, что находится в файле, отделенном новым кодом строки '\ n'. Я думал, что «rU» удалил значения «\ n» в данных и позволил правильно поместить их в список или массив.

Ответы [ 2 ]

1 голос
/ 16 апреля 2020

Мне нравится использовать str.splitlines () для этого, он будет обрабатывать различные разрывы строк для вас.

0 голосов
/ 16 апреля 2020

Думаю, вы захотите

y.append(label.split('\n'))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...