Не поддерживает ли python csv Writer больше бинарный режим?
Мне до сих пор не приходилось писать в режиме 'b', и я получаю очень досадные ошибки, например:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-2-030fb0c9dc9a> in <module>()
4 with open('test.csv', 'wb') as f:
5 w = csv.writer(f)
----> 6 w.writerows(rows)
TypeError: a bytes-like object is required, not 'str'
Код:
import csv
rows = [b'1,2,3', b'4,5,6', b'7,8,9']
with open('test.csv', 'wb') as f:
w = csv.writer(f)
w.writerows(rows)
Если бы кто-нибудь мог объяснить ошибку, было бы здорово. Я передаю итерируемое, где каждый элемент является байтовой последовательностью, но я все еще получаю ошибку о том, что входные данные не являются «байтами», а вместо этого являются «str». Такое поведение кажется неожиданным.
Я знаю, что приведенный выше фрагмент кода может записать в обычный файл, если я отключу двоичный режим. Если у кого-то есть конструктивное решение или предложение, я был бы очень признателен.