Если я правильно понял вашу проблему, вы ищете способ сериализации, сохраняющий типы данных фрейма данных.
Проблема заключается в том, что форматы interchange внутренне используют несколько типов:только строки для CSV, строки и числа для JSON.Конечно, есть способы дать подсказки по форматированию во время чтения (формат даты для столбцов даты в csv), и, как правило, легко преобразовать обратно в правильный тип после извлечения, я думаю, что вы надеетесь на более естественное способ.Как рекомендует Attack68, вы можете использовать базу данных, но, например, база данных SQLite будет отключена, поскольку у нее нет внутреннего типа даты.
ИМХО, простой способ - полагаться на старый добрый модуль pickle
.В конце концов, фрейм данных - это объект Python, который содержит другие объекты Python, так что pickle хорош в сериализации.Единственное, что нужно помнить, это то, что во время десериализации панды нужно будет импортировать перед вызовом pickle.load
.
Но я только что протестировал (крошечный) фрейм данных, содержащий различные типы данных, и pickle был великолепен какправильно сохранять и восстанавливать их.