@albertalexandrov

Как вставить столбец с датами библиотекой clickhouse-driver?

Создал таблицу:

create table t
    (
        order_date     Date
    )
    engine = ReplacingMergeTree()
    PARTITION BY toYYYYMM(order_date)
    ORDER BY order_date
    SAMPLE BY order_date
    SETTINGS index_granularity = 8192;


Хочу вставить в нее датафрейм:

pd.DataFrame([[datetime.date(2020, 12, 21)]])

Вставку пытаюсь осуществить методом insert_dataframe

Клиент:

from clickhouse_driver import Client
    
client = Client('localhost', settings={'use_numpy': True})


Вставка:

client.insert_dataframe(f'INSERT INTO t VALUES', df)


Если пытаюсь вставить `df = pd.DataFrame([[datetime.date(2020, 12, 21)]])`, то получаю ошибку:

int() argument must be a string, a bytes-like object or a number, not 'datetime.date'


Если пытаюсь вставить `df = pd.DataFrame([['2020-12-21']])`, то получаю ошибку:

invalid literal for int() with base 10: '2020-12-21'


Если `df = pd.DataFrame([[1608560160]])` (текущий unixtimestamp), то вставка происходит, но дата - 2092-01-17.

Как вставить столбец с датой?
  • Вопрос задан
  • 368 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы