Python скрипт для добавления данных в один CSV в другой CSV после сравнения - PullRequest
0 голосов
/ 09 апреля 2020

У меня есть скрипт, который сравнивает 2 CSV-файла и выводит данные в новый CSV-файл. Я ищу помощи, чтобы иметь возможность добавить данные в новом выходном файле в файл всей истории в том же коде. Кто-нибудь подскажет, что использовать?

import csv

with open('allhistory.csv', 'r') as t1, open('filewithnewdata.csv', 'r') as t2:
    fileone = t1.readlines()
    filetwo = t2.readlines()

with open('update.csv', 'w') as outFile:
    for line in filetwo:
        if line not in fileone:
            outFile.write(line)

1 Ответ

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

Вы можете сохранить список строк, которые вы пишете в update.csv, а затем записать содержимое fileone с последующими обновлениями, перезаписав существующий файл. Например:

with open('allhistory.csv', 'r') as t1, open('filewithnewdata.csv', 'r') as t2:
    fileone = t1.readlines()
    filetwo = t2.readlines()

matches = []

with open('update.csv', 'w') as outFile:
    for line in filetwo:
        if line not in fileone:
            matches.append(line)
            outFile.write(line)    

with open('allhistory.csv', 'w') as outFile:
    outFile.write(''.join(fileone).strip() + '\n' + ''.join(matches))

Обратите внимание, что вы просто сравниваете целые строки в файле, в настоящее время вы не используете csv для разделения каждой строки на значения.

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