How to fix ”unicodedecodeerror: ‘charmap’ codec can’t decode byte 0x9d in position 29815: character maps to <undefined>”?
As you see from https://en.wikipedia.org/wiki/Windows-1252, the code 0x9D is not defined in CP1252.
The “error” is e.g. in your open
function: you do not specify the encoding, so python (just in windows) will use some system encoding. In general, if you read a file that maybe was not create in the same machine, it is really better to specify the encoding.
I recommend to put also a coding also on your open
for writing the csv. It is really better to be explicit.
I do no know the original file format, but adding to open , encoding='utf-8'
is usually a good thing (and it is the default in Linux and MacOs).
Unicodedecodeerror: ‘charmap’ codec can’t decode byte 0x98 in position 2251: character maps to <undefined> · issue #7266 · pypa/pip
Получаю ошибки в коде(unicodedecodeerror: ‘charmap’ codec can’t decode byte 0x98 in position 320: character maps to <undefined>
Операционка: windows 10
python 3.8
библеотека:
atomicwrites==1.4.0
attrs==19.3.0
colorama==0.4.3
cycler==0.10.0
demjson==2.2.4
kiwisolver==1.2.0
matplotlib==3.2.2
more-itertools==8.4.0
nose==1.3.7
numpy==1.18.5
packaging==20.4
pandas==1.0.4
pluggy==0.13.1
py==1.8.2
pyparsing==2.4.7
pytest==5.4.3
python-dateutil==2.8.1
pytz==2020.1
six==1.15.0
wcwidth==0.2.4
xlrd==1.2.0
xmltodict==0.12.0
csv поставлен через pycharm
Суть программы
Необходимо реализовать функцию get_books.
Функция должна принимать имя файла для чтения
Функция должна возвращать данные из файла в виде списка списков как:
[ [‘номер’, ‘название’, ‘автор’, количество, цена], […], … ]- первую строку из файла ‘номер|название|автор|количество|цена’ возвращать не надо.
- количество возвращается как int
- цена возвращается как float
Сам код
import csv
# создаю функцию которая принимает параметр file_name
def get_books(file_name):
# заношу в переменную csv обьект
books = csv.reader(open(file_name))
# cоздаю переменную count
count = 0
# создаю books_array куда будем добавлять книги
books_array = []# делаю цикл
for i in books:
# условие, выполняем код если count > 0
if count > 0:
# добавляем в массив books_array книгу где books_array.append([
i[0].split(‘|’)[0],
i[0].split(‘|’)[1],
i[0].split(‘|’)[2],
int(i[0].split(‘|’)[3]),
float(i[0].split(‘|’)[4])
# прибавляем к count единицу
count = count 1
# возвращаю books_array
return books_array
# вывожу функцию get_books() и передаю туда название файла из которого читаю данные
print(get_books(‘books.txt’))
Помогите исправить код)
§
Операционка: windows 10
python 3.8
библеотека:
atomicwrites==1.4.0
attrs==19.3.0
colorama==0.4.3
cycler==0.10.0
demjson==2.2.4
kiwisolver==1.2.0
matplotlib==3.2.2
more-itertools==8.4.0
nose==1.3.7
numpy==1.18.5
packaging==20.4
pandas==1.0.4
pluggy==0.13.1
py==1.8.2
pyparsing==2.4.7
pytest==5.4.3
python-dateutil==2.8.1
pytz==2020.1
six==1.15.0
wcwidth==0.2.4
xlrd==1.2.0
xmltodict==0.12.0
csv поставлен через pycharm
Суть программы
Необходимо реализовать функцию get_books.
Функция должна принимать имя файла для чтения
Функция должна возвращать данные из файла в виде списка списков как:
[ [‘номер’, ‘название’, ‘автор’, количество, цена], […], … ]- первую строку из файла ‘номер|название|автор|количество|цена’ возвращать не надо.
- количество возвращается как int
- цена возвращается как float
Сам код
import csv
# создаю функцию которая принимает параметр file_name
def get_books(file_name):
# заношу в переменную csv обьект
books = csv.reader(open(file_name))
# cоздаю переменную count
count = 0
# создаю books_array куда будем добавлять книги
books_array = []# делаю цикл
for i in books:
# условие, выполняем код если count > 0
if count > 0:
# добавляем в массив books_array книгу где books_array.append([
i[0].split(‘|’)[0],
i[0].split(‘|’)[1],
i[0].split(‘|’)[2],
int(i[0].split(‘|’)[3]),
float(i[0].split(‘|’)[4])
# прибавляем к count единицу
count = count 1
# возвращаю books_array
return books_array
# вывожу функцию get_books() и передаю туда название файла из которого читаю данные
print(get_books(‘books.txt’))
Помогите исправить код)
Environment
Description
On same environment as from 2021 I still have this error on newer version python and pip when I try to install certain libraries on newer version (previous issue posted in comment of #4110 (comment) and i was manually fixed it by editing code (two posts below)). Now however all things changed and I don’t see solution for it, however take a look at output number 2.
Expected behavior
Install without error
How to Reproduce
Trying to install
hiredis
or libs it dependent on.pip install hiredis
Output
However after some tests I tried to do that:
2. Install from github repository
Note: I don’t know why it still erroring on pypi package, but it may look, what old error return again? During this installation it looks like I can’t edit
pip-install-7t5ulr6thiredissetup.py", line 22
to at least trying to fix it if it would happen to any other lib.