我正在嘗試將來自 d 的傳入資料保存在 postgres 資料庫中,但它一直回傳 listdata 沒有屬性資料,我不明白為什么 - 如果我沒記錯的話,只有一列需要保存對嗎?
如果你這樣做,print(d)你可以看到資料來了,但我不知道如何保存它。
from datetime import datetime
from requests import Session
import pandas as pd
import matplotlib.pyplot as plt
import psycopg2
import time
from psycopg2.extras import RealDictCursor
page_url = "https://www.nseindia.com/get-quotes/equity?symbol=LT"
chart_data_url = "https://www.nseindia.com/api/chart-databyindex"
s= Session()
h = {"user-agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36",
"accept": "text/html,application/xhtml xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
"accept-encoding": "gzip, deflate, br",
"accept-language": "en-GB,en-US;q=0.9,en;q=0.8",
}
s.headers.update(h)
r = s.get(page_url)
def fetch_data(symbol):
data = {"index": symbol "EQN"}
r = s.get(chart_data_url, params=data)
data = r.json()['grapthData']
return [[datetime.utcfromtimestamp(d[0]/1000),d[1]] for d in data]
data = fetch_data("MARUTI")
with psycopg2.connect(
host="localhost",
database="tickdata",
port="5432",
user="postgres",
password="passkey",
cursor_factory=RealDictCursor,
) as conn:
with conn.cursor() as cur:
sql = """INSERT INTO pytick (sequence) VALUES (%s) RETURNING *"""
cur.executemany(sql, data)
回傳此錯誤 cur.executemany(sql, data) TypeError: not all arguments convert during string formatting [Finished in 1.8s]
uj5u.com熱心網友回復:
你sqlcode是一個元組。可能不應該。
您也沒有使用該RETURNING子句,因此請擺脫它。
總而言之,您可能正在尋找類似的東西
data = fetch_data("MARUTI")
with psycopg2.connect(
host="localhost",
database="tickdata",
port="5432",
user="postgres",
password="passkey",
cursor_factory=RealDictCursor,
) as conn:
with conn.cursor() as cur:
sql = "INSERT INTO pytick (id, data) VALUES (%s, %s)"
cur.executemany(sql, data)
將所有 2 元組插入data.
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/408052.html
標籤:
上一篇:更新postgres中的多個案例
