Pandas как разобрать значения datetimeoffset из SQL Сервер в двоичном формате - PullRequest
0 голосов
/ 08 апреля 2020

Я запрашиваю SQL серверную базу данных со столбцом типа datetimeoffset. Я использую 'pyodb c' и SQL Server 2017. Дата и время возвращаются в виде строк следующим образом:

"b'\xe3\x07\n\x00\x0e\x00\x12\x00\x03\x00\x05\x00@\xe1\x9d\x18\x00\x00\x00\x00'"

Pandas не распознает его как метку времени, и я попытался используя Python 3 'struct' модуль для его распаковки следующим образом:

import struct
raw = 'b\xe3\x07\n\x00\x0e\x00\x12\x00\x03\x00\x05\x00@\xe1\x9d\x18\x00\x00\x00\x00'
unpacked, = struct.unpack('<Q', raw)

Это выдает ошибку, потому что raw является строкой. Если я ввожу строку непосредственно в качестве аргумента в 'unpack', она выдает ошибку из-за неправильного количества байтов.

Как преобразовать значения столбца в pandas datetime?

Дополнительные примечания : Этот сайт указывает, что сервер SQL использует определенный тип, который pyodb c изначально не обрабатывает, как предложено mostert . Тем не менее, у них, похоже, нет проблем с извлечением понятного человеку значения.

[решено] Так что решение на этом сайте работает. TIL: при добавлении конвертера вы должны получить тип как целое число, в данном случае «-155». Этот сайт имеет целочисленные коды для некоторых других типов

1 Ответ

0 голосов
/ 03 мая 2020

Итак, решение на этом сайте работает. TIL: при добавлении конвертера вы должны получить тип как целое число, в данном случае «-155». Этот сайт имеет целочисленные коды для некоторых других типов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...