- Я получаю данные с сервера MySQL и форматирую их в список списков.
raw_data = read_query(connection, query)
csv_data = []
for row in raw_data:
row = list(row)
csv_data.append(row)
- Преобразуйте данные в Dataframe и экспортируйте в CSV.
df = pd.DataFrame(csv_data)
df.to_csv('test.csv', index=False)
Как избавиться от b'' во всех столбцах, где он присутствует? Я попытался изменить кодировку = 'utf-8', b'' все еще там. Кажется, что кадр данных принимает b '' как строку вместо правильного байта?
0
devBear
25 Янв 2022 в 21:12
Все столбцы с буквой b содержат строку вместо чисел.
– user18030662
25 Янв 2022 в 21:23
2 ответа
Лучший ответ
Используйте str.decode
:
df = pd.DataFrame({'A': [b'Hello', b'world']})
A
0 b'Hello'
1 b'world'
df['A'] = df['A'].str.decode('utf-8')
print(df)
# Output
A
0 Hello
1 world
0
Corralien
25 Янв 2022 в 22:37
Получил эту ошибку:
– AttributeError: Can only use .str accessor with string values!. Did you mean: 'std'?
Я использовал его как object = object.str.decode
user18030662
25 Янв 2022 в 22:35
Каков результат
– print(type(df['A'].iloc[0]))
. Замените A
на имя вашего столбца.
Corralien
25 Янв 2022 в 22:39
Что такое
– object
?
Corralien
25 Янв 2022 в 22:40
<class 'bytes'>
Это то, что я получаю от print(type(df['A'].iloc[0]))
user18030662
25 Янв 2022 в 22:44
Так что мой код должен работать. Какая у вас версия Панды? А что такое
– object = object.str.decode
?
Corralien
25 Янв 2022 в 22:46
Декодируйте элементы row
.
raw_data = read_query(connection, query)
csv_data = []
for row in raw_data:
row = list(row)
row = [x.decode() for x in row]
csv_data.append(row)
0
OwenAmmann
25 Янв 2022 в 21:24
Спасибо, но я получил эту ошибку: AttributeError: объект 'str' не имеет атрибута 'decode'. Возможно, Вы имели в виду: кодировать
– user18030662
25 Янв 2022 в 22:08
Похожие вопросы
Новые вопросы
python
Python — это мультипарадигмальный многоцелевой язык программирования с динамической типизацией. Он предназначен для быстрого изучения, понимания и использования, а также обеспечивает чистый и унифицированный синтаксис. Обратите внимание, что Python 2 официально не поддерживается с 01.01.2020. Если у вас есть вопросы о версии Python, добавьте тег [python-2.7] или [python-3.x]. При использовании варианта Python (например, Jython, PyPy) или библиотеки (например, Pandas, NumPy) укажите это в тегах.