This repository has been archived on 2026-01-07. You can view files and clone it, but cannot push or open issues or pull requests.
Files
resources/tushare-stock/src/job_ods_hs_base_list.py
2024-10-12 09:09:02 +08:00

66 lines
2.2 KiB
Python

import tushare as ts
import MySQLdb
from config import CONFIG_DB
from config import CONFIG_TS
db = MySQLdb.connect(CONFIG_DB['host'], CONFIG_DB['user'], CONFIG_DB['password'], CONFIG_DB['database'], charset='utf8')
pro = ts.pro_api(CONFIG_TS['secret'])
df = pro.stock_basic(**{
"ts_code": "",
"name": "",
"exchange": "",
"market": "",
"is_hs": "",
"list_status": "",
"limit": "",
"offset": ""
}, fields=[
"ts_code",
"symbol",
"name",
"area",
"industry",
"market",
"list_date",
"fullname",
"enname",
"cnspell",
"exchange",
"curr_type",
"list_status",
"delist_date",
"is_hs"
])
cursor = db.cursor()
for row in df.itertuples():
sql = "insert into t_ods_hs_base_list(ts_code, symbol, name, area, industry, fullname, enname, \
cnspell, market, exchange, curr_type, list_status, list_date, is_hs) \
values('%s', '%s', '%s', '%s', '%s', '%s', \"%s\", '%s', '%s', '%s', '%s', '%s', '%s', '%s') \
on duplicate key update symbol= '%s', name= '%s', area='%s', industry='%s', fullname='%s', \
enname=\"%s\", cnspell='%s', market='%s', exchange='%s', curr_type='%s', list_status='%s', \
list_date='%s', is_hs='%s' " % \
(getattr(row, 'ts_code'), getattr(row, 'symbol'), getattr(row, 'name'), getattr(row, 'area')
, getattr(row, 'industry'), getattr(row, 'fullname'), getattr(row, 'enname'), getattr(row, 'cnspell')
, getattr(row, 'market'), getattr(row, 'exchange'), getattr(row, 'curr_type'), getattr(row, 'list_status')
, getattr(row, 'list_date'), getattr(row, 'is_hs'),
getattr(row, 'symbol'), getattr(row, 'name'), getattr(row, 'area')
, getattr(row, 'industry'), getattr(row, 'fullname'), getattr(row, 'enname'), getattr(row, 'cnspell')
, getattr(row, 'market'), getattr(row, 'exchange'), getattr(row, 'curr_type'), getattr(row, 'list_status')
, getattr(row, 'list_date'), getattr(row, 'is_hs'))
try:
cursor.execute(sql)
db.commit()
except Exception as ex:
print (ex)
db.rollback()
break
db.close()