SQL Eintrag von Datum (Format)

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MariaDB/MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Antworten
begin3er
User
Beiträge: 10
Registriert: Mittwoch 28. Oktober 2020, 15:49

Servus,

Erstmal mein Code

Code: Alles auswählen

c = p.Client(api_token='xyc', version='sandbox')
sym = 'GOOG'

timeframe = datetime.date.today() - datetime.timedelta(days=1)
date = (timeframe.strftime("%Y") + timeframe.strftime("%m") + timeframe.strftime("%d"))
df = c.chartDF(symbol=sym, byDay=True, date=date)[['close']]


print(df)
database = r"Alphabet.db"
conn = SqlConnection(database).create_connection()
df.to_sql("Alphabet", conn, datetime, dtype=None, if_exists='append')
Print gibt mir folgendes aus

Code: Alles auswählen

              close
date               
2022-02-18  2683.09

Process finished with exit code 0

In der Datenbank steht das Datum aber in folgendem Format: 2022-02-18 00:00:00
Kann ich das irgendwie festlegen wie es dort eingetragen wird? Oder muss ich das nachträglich ändern?

LG
Sirius3
User
Beiträge: 17737
Registriert: Sonntag 21. Oktober 2012, 17:20

Das Datum formatiert man in einem Schritt:

Code: Alles auswählen

timeframe.strftime("%Y%m%d")
Du verrätst nicht, was das für ein Client ist, die Frage ist also, ob das umwandeln in einen String überhaupt nötig ist.
In der Datenbank (die wir auch nicht kennen) steht das Datum hoffentlich in gar keinem Format, sondern als Datumswert. Formatieren macht man erst, wenn Menschen das lesen wollen.
begin3er
User
Beiträge: 10
Registriert: Mittwoch 28. Oktober 2020, 15:49

was meinst du mit Client? ich nutze die Library sqlite3

Die Datenbank legen ich so an:

Code: Alles auswählen

                sql_create_stock_table = """CREATE TABLE IF NOT EXISTS %s  (
                                                id integer PRIMARY KEY,
                                                date date,
                                                open float,
                                                high float,
                                                low float,
                                                close float,
                                                volume float
                                            );""" % stock
begin3er
User
Beiträge: 10
Registriert: Mittwoch 28. Oktober 2020, 15:49

ich bin echt schlecht darin libraries zu verstehen, aber ich glaube das Datum wird in ebn dieser um die Uhrzeit erweitert.
Werde es dann anpassen beim Auslesen.

Danke
Antworten