Не уверен, почему я получаю следующую ошибку: Ошибка типа: Объект байтов типа не сериализуем в JSON , когда я запускаю ниже ... какие-нибудь идеи?
import pyodbc
conn = pyodbc.connect('Driver={SQL Server Native Client 11.0};'
'Server=LDN01939344;'
'Database=EData;'
'Trusted_Connection=yes;'
)
sql = 'SELECT top 100 * from EData.dbo.DTData'
data = pd.read_sql(sql,conn)
app = dash.Dash(__name__)
app.layout = dash_table.DataTable(
id='table',
columns=[{"name": i, "id": i} for i in data.columns],
data=data.to_dict('records'),
style_header={
'backgroundColor': 'rgb(230, 230, 230)',
'fontWeight': 'bold'
}
)
if __name__ == '__main__':
app.run_server(debug=False,ssl_context='adhoc')
тогда я получаю эту ошибку - любая идея, что я могу сделать ???
File "C:\Users\zoeS\AppData\Local\Continuum\anaconda3\lib\json\__init__.py", line 238, in dumps
**kw).encode(obj)
File "C:\Users\zoeS-a\AppData\Roaming\Python\Python37\site-packages\_plotly_utils\utils.py", line 44, in encode
encoded_o = super(PlotlyJSONEncoder, self).encode(o)
File "C:\Users\zoeS\AppData\Local\Continuum\anaconda3\lib\json\encoder.py", line 199, in encode
chunks = self.iterencode(o, _one_shot=True)
File "C:\Users\zoeS\AppData\Local\Continuum\anaconda3\lib\json\encoder.py", line 257, in iterencode
return _iterencode(o, 0)
File "C:\Users\zoeS-a\AppData\Roaming\Python\Python37\site-packages\_plotly_utils\utils.py", line 113, in default
return _json.JSONEncoder.default(self, obj)
File "C:\Users\zoeS\AppData\Local\Continuum\anaconda3\lib\json\encoder.py", line 179, in default
raise TypeError(f'Object of type {o.__class__.__name__} '
TypeError: Object of type bytes is not JSON serializable
Я пробовал следующее:
objectcolumns=data.loc[:, data.dtypes == object].columns.to_list()
Тогда
for i in objectcolumns:
print(i)
data[i]=data[i].str.decode("utf-8")
однако, когда я делаю это, я получаю ошибку:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa4 in position 5: invalid start byte