Попробуйте:
dashboard_df = pd.read_csv(p_file, sep=',', error_bad_lines=False, index_col=False, dtype='unicode')
Согласно документации pandas:
dtype: имя типа или dict столбца -> тип
Что касается low_memory, то по умолчанию он по умолчанию и еще не задокументирован. Я не думаю, что это имеет значение. Сообщение об ошибке является общим, поэтому вам все равно не нужно возиться с low_memory. Надеюсь, что это поможет и сообщит мне, если у вас возникнут дополнительные проблемы
Если данные находятся в формате, совместимом с UTF-8, вы можете преобразовать байты в строку.
>>> import curses
>>> print(str(curses.version, "utf-8"))
2.2
Опционально сначала конвертировать в hex, если данные еще не совместимы с UTF-8 , Например. когда данные являются фактическими необработанными байтами.
from binascii import hexlify
from codecs import encode # alternative
>>> print(hexlify(b"\x13\x37"))
b'1337'
>>> print(str(hexlify(b"\x13\x37"), "utf-8"))
1337
>>>> print(str(encode(b"\x13\x37", "hex"), "utf-8"))
1337
Если байты уже используют соответствующую кодировку символов; вы можете распечатать их напрямую:
sys.stdout.buffer.write(data)
или
nwritten = os.write(sys.stdout.fileno(), data) # NOTE: it may write less than len(data) bytes
Используйте decode
:
>>> print(curses.version.decode('utf-8'))
2.2
utf-8
по умолчанию? Я не хочу использовать .decode('utf-8')
каждый раз, когда я что-то печатаю.
– Shubham A.
10 January 2018 в 15:09