Поиск и замена нескольких имен в файле .CSV с использованием Python - PullRequest
0 голосов
/ 30 сентября 2019

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

Задача:

Я соскребаю данные с двух разных сайтов, используя python, и получаю два файла .CSV (спасибоSIM) и теперь я хочу сравнить данные. Проблема в том, что Сайт, с которого я получаю данные, называет некоторые имена, например,

Chelsea FC вместо FC Chelsea или FSV Mainz вместо 1. FSV Mainz 05 и многие другие имена, которые я должен заменить.

Вот код, который я сделал:

text = open("input.csv", "r")
text = ''.join([i for i in text]) \
    .replace("Chelsea FC", "FC Chelsea")
x = open("output1.csv","w")
x.writelines(text)
x.close()

text = open("output1.csv", "r")
text = ''.join([i for i in text]) \
    .replace("FSV Mainz", "1. FSV Mainz 05")
x = open("output_final.csv","w")
x.writelines(text)
x.close()

Проблема в том, что мне нужно писать файл после каждого измененного имени. Я имею в виду, что это делает работу, но это ранит мои чувства.

Можете ли вы указать мне путь к лучшему коду, пожалуйста? Внимание: я абсолютный новичок!

Большое спасибо!

1 Ответ

1 голос
/ 30 сентября 2019

Это один простой способ сделать

with open("input.csv", "r") as file:
    text = file.read()

text = text.replace("Chelsea FC", "FC Chelsea")
text = text.replace("FSV Mainz", "1. FSV Mainz 05")
# more replaces...

with open("output_final.csv", "w") as x:
    x.write(text)

Для более сложных манипуляций с текстом, попробуйте использовать модуль re (регулярное выражение)

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