У меня есть один сервис под управлением панды версии 0.25.2. Эта служба считывает данные из базы данных и сохраняет снимок в виде csv
df = pd.read_sql_query(sql_cmd, oracle)
результата запроса в кадре данных с некоторыми очень большими значениями даты и времени. (например, 3000-01-02 00:00:00) После этого я использую df.to_csv(index=False)
, чтобы создать снимок csv и записать его в файл
на другой машине с установленными пандами 0.25.3, я читаюсодержимое файла csv в фрейм данных и попытайтесь изменить тип данных столбца даты на datetime. Это приводит к OutOfBoundsDatetime
Исключению
df = pd.read_csv("xy.csv")
pd.to_datetime(df['val_until'])
pandas._libs.tslibs.np_datetime.OutOfBoundsDatetime: Out of bounds nanosecond timestamp: 3000-01-02 00:00:00
Я думаю об использовании pickle для создания моментальных снимков и загрузки данных. Однако мне любопытно, почему pandas может обрабатывать большие даты в первом случае, а не во втором. Также приветствуются любые предложения, как я продолжаю использовать CSV в качестве формата передачи