Как удалить строки выборочно?
Строки с файлов, нужно прочесть все строки с первого файла и со второго, потом посмотреть те строки которые не уникальные и удалить их удалить строки с 1txt файла
with open("textt.txt", 'r+', encoding="utf-8") as data, open('test.txt', "r+", encoding="utf8") as f:
data_1 = data.readlines()
data_2 = f.readlines()
test_1 = []
test_2 = []
for i in data_1:
s = i.split(' ')
if len(s) != 12:
del
qs = test_1.append(i.split(' '))
# qss = {",".join(qs)}
for ii in data_2:
qsss = test_2.append(ii.split(' '))
asa = {','.join(test_1[0])}
asa_1 = {','.join(test_2[0])}
if asa.difference(asa_1) is None:
print('asdas')
Ответы (1 шт):
Ну вы же понимаете, что проверить ваш код, не имея ваших исходных файлов - невозможно. Поэтому непонятно, что-же вы хотите от нас услышать. Если вас интересует вопрос, как выборочно удалить некоторые строки из вашего файла - то ответ однозначен
- Читаем строки в (например) список или датафрейм.
- Удаляем ненужные элементы из этой структуры.
- Все что осталось - записываем назад в файл.
По какому именно правилу вы будете удалять элементы во втором пункте - это совершенно отдельный вопрос.
Если же вас интересует что-то другое - то будте любезны, перечитайте свой вопрос и попробуйте его внятно переформулировать так, что бы он стал понятен всем.
P.S. После длительного обсуждения становиться понятным, что необходимо из одного файла удалить строки совпадающие со строками второго файла. Само чтение файла - опускаю, пусть ваши данные уже находятся в двух списках data_1 и data_2
data_1=['яблоко', 'груша', 'персик','вишня']
data_2=['яблоко', 'слива', 'вишня','банан','апельсин']
set_1=set(data_1)
set_2=set(data_2)
data_3=list(set_1.difference(set_2))
print(data_3)
Результат:
['персик', 'груша']
Как видите, это те элементы, которые уникальны, а повторяющиеся элементы - отброшены. Вот этот список и записывайте в свой файл.