찾다

 >  Q&A  >  본문

Python 데이터 프레임을 mysql에 로드할 수 없습니다.

Python 데이터 프레임을 mysql에 로드하려고 합니다. "형식 인수 처리에 실패했습니다. Python '타임스탬프'를 MySQL 유형으로 변환할 수 없습니다."라는 오류를 반환합니다. 무슨 내용인지 잘 모르겠습니다.

import pandas as pd
from datetime import date
import mysql.connector
from mysql.connector import Error
def priceStock(tickers):
  today = pd.to_datetime("today").strftime("%Y-%m-%d")
  for ticker in tickers:
    conn = mysql.connector.connect(host='103.200.22.212', database='analysis_stock', user='analysis_PhamThiLinhChi', password='Phamthilinhchi')
    
    new_record = stock_historical_data(ticker, '2018-01-01', today)
    new_record.insert(0, 'ticker', ticker)
    table = 'priceStock'
    cursor = conn.cursor()
        #loop through the data frame
    for i,row in new_record.iterrows():
    #here %s means string values 
        sql = "INSERT INTO " + table + " VALUES (%s,%s,%s,%s,%s,%s,%s)"

        #đoán chắc là do format time từ python sang sql ko khớp 
        cursor.execute(sql, tuple(row))
        print("Record inserted")
        # the connection is not auto committed by default, so we must commit to save our changes
        conn.commit()
priceStock(['VIC'])

P粉156983446P粉156983446469일 전602

모든 응답(1)나는 대답할 것이다

  • P粉797004644

    P粉7970046442023-09-15 09:11:46

    to_sql을 사용할 수 있습니다. to_sql은 SQLAlchemy를 사용하고 SQLAlchemy는 MySQL을 지원하므로 아래 코드가 작동해야 합니다

    으아악

    업데이트된 행을 보려면 다음 코드를 사용하세요.

    으아악

    회신하다
    0
  • 취소회신하다