Форум сайта python.su
Добрый день! Сильно не пинайте, я только начинаю
Есть csv файл с кодировкой utf-8. Делаю
# -*- coding: utf-8 -*- import csv reader = csv.reader(open(r"F:\py\test1.csv")) for row in reader: print (row) print ("Привет")
Отредактировано podolskiy (Сен. 19, 2016 17:45:11)
Офлайн
вы путаете кодировку исходного кода программы с кодировкой файла который вы открываете. ДЛя корректности нужно открыть файл и указать кодировку в которой кодирован конкретно этот файл
Офлайн
reader = csv.reader(open(r"F:\py\test1.csv",encoding="utf-8"))
Офлайн
Да, так работает, спасибо.
И еще уточнить, в оф. документации пишут, что файлы по умолчанию открываются в utf-8
Normally, files are opened in text mode, that means, you read and write strings from and to the file, which are encoded in a specific encoding (the default being UTF-8).
Отредактировано podolskiy (Сен. 19, 2016 22:09:07)
Офлайн
podolskiyWindows?
Почему тогда нужно указывать кодировку utf-8 при открытии?
Офлайн
podolskiypython.org. open()
И еще уточнить, в оф. документации пишут, что файлы по умолчанию открываются в utf-8
encoding is the name of the encoding used to decode or encode the file. This should only be used in text mode. The default encoding is platform dependent (whatever locale.getpreferredencoding() returns), but any text encoding supported by Python can be used. See the codecs module for the list of supported encodings.
podolskiyДокументация, которую ты читаешь, сомнительная, либо ты просто криво её читаешь. Кодировка utf-8 по умолчанию ставится для объявления кодировки исходника в третьем питоне. И ещё кодировка utf-8 по умолчанию используется при кодировании строки в классе str. Но ты, скорее всего, перепутал кодировку исходника с кодировкой открытого через open() файла.
Почему тогда нужно указывать кодировку utf-8 при открытии?
Отредактировано py.user.next (Сен. 20, 2016 02:22:44)
Офлайн
doza_andДа, Windows
locale.getpreferredencoding()
py.user.nextВидимо криво читаю, так как документация с оф. сайта
Отредактировано podolskiy (Сен. 20, 2016 11:04:00)
Офлайн
podolskiy
Видимо криво читаю, так как документация с оф. сайта
podolskiyГде такое пишут? Нигде такое не пишут. На каждой платформе своя кодировка, которая может быть utf-8, а может не быть utf-8.
И еще уточнить, в оф. документации пишут, что файлы по умолчанию открываются в utf-8
Отредактировано py.user.next (Сен. 20, 2016 13:47:52)
Офлайн
reader = csv.reader(open(r“F:\py\test1.csv”,encoding=“utf-8”))
__________________________________________________
http://goit.com.ua
Офлайн