Ich arbeite mit einer PostgreSQL -Datenbank in Python mit Psycopg2 und Pandas. Mein Workflow umfasst das Lesen von Daten in Python, das Hochladen in der Datenbank, das Abrufen von Python und die Aktualisierung der Datenbank. Um die Datenintegrität zu gewährleisten, möchte ich eine umfassende Zuordnung zwischen Pandas -Datentypen und PostgreSQL -Datentypen erstellen. Derzeit begegne ich ein Problem, bei dem Datums- und Uhrzeitdaten (einschließlich Tag und Stunde) nicht mit dem richtigen Datentyp nach postgreSQL hochgeladen werden.
def map_dtype(dtype):
if np.issubdtype(dtype, np.integer):
return 'BIGINT' # Maps to PostgreSQL's BIGINT for large integers
elif np.issubdtype(dtype, np.floating):
return 'DOUBLE PRECISION' # Maps to PostgreSQL's DOUBLE PRECISION for floating-point numbers
elif np.issubdtype(dtype, np.datetime64):
return 'TIMESTAMP' # Maps to PostgreSQL's TIMESTAMP for date and time
elif np.issubdtype(dtype, np.bool_):
return 'BOOLEAN' # Maps to PostgreSQL's BOOLEAN for boolean values
else:
return 'TEXT' # Default mapping to PostgreSQL's TEXT for other types
< /code>
Ist dies der beste Ansatz? Haben Sie Vorschläge?
PS. Ich möchte SQLalchemy nicht verwenden, weil für einen großen Datensatz (mein Fall) zu langsam ist.
Beste Karte zwischen Pandas DataFrame DTYPES und Postgres ⇐ Python
-
- Similar Topics
- Replies
- Views
- Last post