Найти - Пользователи
Полная версия: CSV запятые. Кодировка
Начало » Python для новичков » CSV запятые. Кодировка
1 2
Djo0513
При записи в csv после каждого символа появляется запятая, записываю с помощью списка.


Где то читал про csv, но нормально ничего не понял так как на английском, а в русских документациях не полностью описывают csv модуль.
Код:
 from urllib.request import urlopen
from bs4 import BeautifulSoup
import csv
list_of_films = []
def start(page_number):
    url = urlopen('https://www.kinopoisk.ru/popular/day/2017-08-22/page/'+str(page_number)+'/')
    html = BeautifulSoup(url, 'lxml')
    parse(html)
def parse(ht):
    target = ht.find('div', class_='stat')
    for diver in target.findAll('div'):
        for b in diver.findAll('a', style='font:100 12px arial,sans-serif'):
            text = b.text.strip()
            list_of_films.append(text)
            print(text)
def main():
    print()
    for i in range(1, 51):
        start(i)
main()
def cesv():
    csvfile = open('D:\ds.csv', 'w')
    csc = csv.writer(csvfile)
    for row in list_of_films:
        csc.writerow(row)
cesv()

Ошибка:

Traceback (most recent call last):
File “DPython_files/Projects_Python_for_ Tutorial/Learning of Python/forever.py”, line 41, in <module>
cesv()
File “DPython_files/Projects_Python_for_ Tutorial/Learning of Python/forever.py”, line 39, in cesv
csc.writerow(row)
File “C:\Program Files\Python35\lib\encodings\cp1251.py”, line 19, in encode
return codecs.charmap_encode(input,self.errors,encoding_table)
UnicodeEncodeError: ‘charmap’ codec can't encode character ‘\xba’ in position 6: character maps to <undefined>


Понимаю, ошибка в кодировке и надо устранять как-то с помощью encode(), decode(), но не знаю как из-за проблемы с английским.

P.S Код не универсальный, так как пытался на основе его понять как решать и исправить вышеперечисленные проблемы, как видите не получилось.

P.P.S Буду рад примеру вашего кода со структурированной таблицей csv (Name, Price и т.д)
vic57
попробуй
 list_of_films.append(text.split(' '))
Djo0513
vic57
Получилось, правда теперь вместо пробелов он начал ставить запятые, но между символами их нету
vic57
Djo0513
list_of_films.append(text)
print(text)
покажи выхлоп
Djo0513
vic57

Остановись и гори (сериал, 2014 – 2017)
Молодежка (сериал, 2013 – 2017)
Дальняя дорога (2015)
Гость (2013)
Последнее королевство (сериал, 2015 – …)
Королевы крика (сериал, 2015 – …)
Дом (2017)
Последний магнат (сериал, 2016 – …)
Китайский квартал (1974)
Пункт назначения (2000)
Скала (1996)
Назад в будущее 3 (1990)
Сердце Ангела (1987)
Куда приводят мечты (1998)
Сталкер (1979)
Живая сталь (2011)
Пираты Карибского моря: На краю Света (2007)
Грозовые ворота (мини-сериал, 2006)
Да, возможно… (2008)
Дракула (2014)
Папе снова 17 (2009)
Олдбой (2013)
Хранитель времени (2011)
Воды слонам! (2011)
Мартовские иды (2011)
План побега (2013)
Однокурсники (сериал, 2009 – 2015)
Общак (2014)
Девочки (сериал, 2012 – 2017)
Застрял в любви (2012)
Номер 44 (2014)
Тайная жизнь домашних животных (2016)
Отцы и дочери (2014)
Человек (2015)
Всё ещё Элис (2014)
Вечность (сериал, 2014 – 2015)
Помнить (2015)
Все по новой (2016)
Солярис (2002)
Меня там нет (2007)
Здесь курят (2005)
Мертвая тишина (2006)
Жизнь Пи (2012)
Тетрадь смерти 2 (2006)
Ип Ман (2008)
Железный человек 2 (2010)
Стартрек: Возмездие (2013)
Очень плохая училка (2011)
О чём говорят мужчины (2010)
Американская семейка (сериал, 2009 – …)
Каникулы (2015)
«Старый» Новый год (2011)
Фрэнк (2013)
Несломленный (2014)
Голодные игры: И вспыхнет пламя (2013)
Голодные игры: Сойка-пересмешница. Часть I (2014)
Крах (сериал, 2013 – 2016)
Шпионы по соседству (2016)
Игра престолов: Сезон 2 – Приглашение на съемочную площадку (видео, 2012)
Любовь (2015)
Пятница (2016)
Дэйв сделал лабиринт (2017)
Мажор 2 (сериал, 2016)
Головокружение (1958)
Сука-любовь (2000)
Люди в черном (1997)
Коматозники (1990)
Власть страха (1999)
Лемони Сникет: 33 несчастья (2004)
Ребенок Розмари (1968)
За бортом (1987)
Каратель (2004)
Любовь и голуби (1984)
Зеркало (1974)
Мемуары гейши (2005)
Джон Картер (2012)
Клик: С пультом по жизни (2006)
Предчувствие (2007)
Кит (2008)
99 франков (2007)
Поезд на Дарджилинг. Отчаянные путешественники (2007)
Дневник убийцы (сериал, 2002)
Книга Илая (2009)
Короткое замыкание (2009)
Красные огни (2011)
Рейд (2011)
Судная ночь (2013)
Голодные игры: Сойка-пересмешница. Часть II (2015)
Другая женщина (2014)
Окулус (2013)
Франкенштейн (2011)
Костяной томагавк (2015)
Пока мы не встретимся снова (2016)
Трамбо (2015)
Второй шанс (2014)
Измены (сериал, 2015)
Фортитьюд (сериал, 2015 – …)
vic57
ну так у тебя строка, csv и не знает как ее парсить - нет разделителя
в твоем случае можно скостылить
            
text = b.text.strip()
l = text.split('(')
y = l[-1]
l[-1] = '(' +y
list_of_films.append(l)
print(l)
https://metanit.com/python/tutorial/4.3.php
Djo0513
vic57

Traceback (most recent call last):
File “DPython_files/Projects_Python_for_ Tutorial/Learning of Python/forever.py”, line 33, in <module>
main()
File “DPython_files/Projects_Python_for_ Tutorial/Learning of Python/forever.py”, line 30, in main
start(i)
File “DPython_files/Projects_Python_for_ Tutorial/Learning of Python/forever.py”, line 11, in start
parse(html)
File “DPython_files/Projects_Python_for_ Tutorial/Learning of Python/forever.py”, line 21, in parse
i = ‘(’ + y
TypeError: Can't convert ‘list’ object to str implicitly
vic57
Djo0513
исправил очепятку
Djo0513
vic57
Нет, нет у меня не строка я парсю именно список, я же написал на самом вверху и в коде csv берёт список
Djo0513
vic57

с исправленной опечаткой

This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB