Как закодировать список в python - PullRequest
0 голосов
/ 03 июля 2018

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

#Répartition des prix moyen au m²
Repartition=[]          
Inferieur=soup.find_all("text", {"class" : "p6_segmentMainLabel-outer"})
Superieur=soup.find_all("text", {"class" : "p6_segmentValue-outer"})
for Data in list(zip(Inferieur,Superieur)):
    try:
        Inferieur,Superieur = Data
        Inferieur=Inferieur.string.encode('utf-8')
        Superieur=Superieur.string.encode('utf-8') 
        Data2=' = '.join([Inferieur,Superieur])
        print Data2
        Repartition.append(Data2)
    except NavigableString: 
            pass

После выполнения кода я получаю:

Супериор а 12,27 € / м² = 14 Inférieur à 12,27 € / m² = 14

вот результат в CSV-файле

['Sup \ xc3 \ xa9rieur \ xc3 \ xa0 12.27 \ xe2 \ x82 \ xac / m \ xc2 \ xb2 = 14', 'Inf \ xc3 \ xa9rieur \ xc3 \ xa0 12.27 \ xe2 \ x82 \ xac / m \ xc2 \ xb2 = 14']

Помощь очень ценится!

1 Ответ

0 голосов
/ 03 июля 2018

Если вы хотите вывод csv, вы должны взглянуть на модуль csv - https://docs.python.org/3.6/library/csv.html?highlight=csv#csv.writer.

Вот пример (взят из документации по Python и изменен для вашего примера):

import csv
with open('output.csv', 'w', newline='') as csvfile:
    w = csv.writer(csvfile, quotechar='|', quoting=csv.QUOTE_MINIMAL)
    w.writerow(Repartition)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...