Code: Select all
import polars as pl
conn = sqlite3.connect('my_database.db')
df = pl.read_database(connection=conn, query='SELECT * FROM table_to_load', infer_schema_length=None)
conn.close()
[*] Jede Spalte von Tabelle_TO_LOAD hat überprüfbar bereits einen der drei SQLite3 -Datentypen -Ganzzahl , real und text . Kann ich Polars anweisen, nur ein angemessenes Analogon jedes Datentyps zu verwenden? Beispielsweise scheint i64 ein vernünftiges Analogon von Integer zu sein. (Es sieht so aus, als ob es auch einen Parameter von schema_overrides gibt, aber dies wäre eine Herausforderung, in meiner Anwendung zu verwenden, da meine Tabellenspalten nicht statisch sind.)
Warum im Traceback die Spalte oder die Spalten, die das Schema -EREWERNUNG nicht enthüllen, werden die Spalten, die das Schema -EREUROR generieren, und es gibt es eine Möglichkeit, dies zu fordern. In meinem Fall wäre dies hilfreich, da table_to_load < /code> Hunderte von Spalten enthält.
Code: Select all
Traceback (most recent call last):
File "c:\Users\user0\AppData\Local\Programs\Python\Python312\test_module.py", line 115, in
main_function()
File "c:\Users\user0\AppData\Local\Programs\Python\Python312\test_module.py", line 54, in main_function
df = pl.read_database(connection=conn, query='SELECT * FROM table_to_load', infer_schema_length=None)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\user0\AppData\Local\Programs\Python\Python312\Lib\site-packages\polars\io\database\functions.py", line 251, in read_database
).to_polars(
^^^^^^^^^^
File "C:\Users\user0\AppData\Local\Programs\Python\Python312\Lib\site-packages\polars\io\database\_executor.py", line 543, in to_polars
frame = frame_init(
^^^^^^^^^^^
File "C:\Users\user0\AppData\Local\Programs\Python\Python312\Lib\site-packages\polars\io\database\_executor.py", line 300, in _from_rows
return frames if iter_batches else next(frames) # type: ignore[arg-type]
^^^^^^^^^^^^
File "C:\Users\user0\AppData\Local\Programs\Python\Python312\Lib\site-packages\polars\io\database\_executor.py", line 283, in
DataFrame(
File "C:\Users\user0\AppData\Local\Programs\Python\Python312\Lib\site-packages\polars\dataframe\frame.py", line 377, in __init__
self._df = sequence_to_pydf(
^^^^^^^^^^^^^^^^^
File "C:\Users\user0\AppData\Local\Programs\Python\Python312\Lib\site-packages\polars\_utils\construction\dataframe.py", line 461, in sequence_to_pydf
return _sequence_to_pydf_dispatcher(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\user0\AppData\Local\Programs\Python\Python312\Lib\functools.py", line 909, in wrapper
return dispatch(args[0].__class__)(*args, **kw)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\user0\AppData\Local\Programs\Python\Python312\Lib\site-packages\polars\_utils\construction\dataframe.py", line 674, in _sequence_of_tuple_to_pydf
return _sequence_of_sequence_to_pydf(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\user0\AppData\Local\Programs\Python\Python312\Lib\site-packages\polars\_utils\construction\dataframe.py", line 590, in _sequence_of_sequence_to_pydf
pydf = PyDataFrame.from_rows(
^^^^^^^^^^^^^^^^^^^^^^
polars.exceptions.SchemaError: failed to determine supertype of i64 and binary
[1]: https://www.sqlite.org/datatype3.html