Python: Попытка извлечь и вывести строки из одного CSV-файла в другой CSV-файл - PullRequest
0 голосов
/ 23 января 2019

Согласно названию, я пытаюсь написать скрипт на Python для чтения файла CSV, отфильтровать его, чтобы узнать, какие мне нужны, и вывести отфильтрованные строки в отдельный файл CSV.

ИтакПока я могу читать файлы csv с:

open('list.csv') as f
csv_f = csv.reader(f)

, и я сохраняю 3 строки в кортеже и использую их для сравнения с другим списком, чтобы увидеть, есть ли совпадение.Если есть совпадение, я хочу, чтобы строка, содержащая кортеж, выводилась в новый CSV-файл.

Я успешно смог прочитать файлы, сопоставить кортежи с другим списком и вывести их, которые были сопоставлены как текст,Проблема в том, что я не знаю, как выводить строки, соответствующие кортежу, в новый CSV-файл.

Я думал назначить номер строки для каждого кортежа, но это тоже никуда не делось.

Я хочу знать, как лучше всего вывести нужные мне строки

Ответы [ 2 ]

0 голосов
/ 23 января 2019

Используя модуль CSV, это может быть более элегантным решением:

with open('input.csv', 'r') as inp, open('output', 'w') as outp:
    csv_f = csv.reader(inp)
    csv_o = csv.reader(outp)
    for line in csv_f:
       if line == 'something':
            csv_o.writeline(line)
0 голосов
/ 23 января 2019

Откройте оба файла.Выполните итерацию по строкам в файле, из которого вы читаете, и если ваше условие оценивается как True, затем запишите эту строку в выходной файл.

with open('list.csv', 'r') as rf:
    with open('output.csv', 'w') as wf:
        # Read lines
        for read_line in rf:
            if <your condition>:
                # Write to the file
                wf.write(read_line)
...