У меня возникла проблема с их преобразованием по двум причинам: 1) когда вызов сканирования/приемника работает, файлы примерно в 10 раз превышают свои версии CSV; 2) вызов часто завершается сбоем, поскольку прогнозирующая схема не может определить типы данных.
Итак, мой вопрос: как я могу заставить вызов сканирования/приемника создавать только символьные типы данных?
Мой код выглядит следующим образом:
Код: Выделить всё
import os
import polars as pl
dir_list = os.listdir()
for filename in dir_list:
if ".txt" in filename: pl.scan_csv(filename,separator="|").sink_parquet(filename.replace(".txt",".parquet"),type_coercion=False,compression="zstd",compression_level=11)
Учитывая размеры файлов, я не могу гарантировать, что какой-либо столбец всегда будет иметь один и тот же тип данных. Таким образом, я хочу заставить тип данных каждого столбца быть символьным, а затем позже разобраться с проблемными столбцами/переключиться на числовые типы/типы дат. Как мне это сделать?
Спасибо за любую помощь.
С уважением,
Джеймс
Подробнее здесь: https://stackoverflow.com/questions/793 ... -scan-sink
Мобильная версия