ДАТА в DuckDB показывает также времяPython

Программы на Python
Ответить
Anonymous
 ДАТА в DuckDB показывает также время

Сообщение Anonymous »

Я пытался создать в базе данных DuckDB таблицу цен на акции. Все работает нормально, за исключением даты (которая является EOD от Yahoo Finance): она должна быть 2024-01-02, но в БД: 2024-01-02 00:00:00.000. Что мне здесь не хватает? Я даже разместил SELECT CAST(Date AS DATE), но это тоже не помогло.

Код: Выделить всё

import yfinance as yf
import duckdb
import pandas as pd
from datetime import datetime, timedelta

# Download data
data = yf.download('AAPL', start='2024-01-01', rounding=True)
data.reset_index(inplace=True)

# Set Date column as a date without the time component
data['Date'] = data['Date'].dt.date

# Rename the 'Adj Close' column to 'Adj_Close'
data.rename(columns={'Adj Close': 'Adj_Close'}, inplace=True)

# Database connection path for DuckDB
db_path = "SPY.duckdb"
conn = duckdb.connect(db_path)
symbol = "SPY"

# Create table
create_table_query = f"""
CREATE TABLE IF NOT EXISTS {symbol} (
Date DATE UNIQUE,
Open FLOAT,
High FLOAT,
Low FLOAT,
Close FLOAT,
Adj_Close FLOAT,
Volume BIGINT
);
"""
conn.execute(create_table_query)

# Insert data into DuckDB with explicit casting of Date column
conn.execute(f"INSERT INTO {symbol} SELECT CAST(Date AS DATE), Open, High, Low, Close, Adj_Close, Volume FROM data")

Как избавиться от отметки времени в БД?

Подробнее здесь: https://stackoverflow.com/questions/791 ... -also-time
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»