从tushare上下载数据并批量存入postgres数据库中

将从tushare上下载到的数据批量存储到postgres库-SZ基表-SZ000001分表中 

# -*- coding:utf-8 -*-
"""
@author:Shawn.li
@file:insertData.py
@time:2020/2/23 15:05
"""
import psycopg2
import tushare as ts

# 获取股票数据,并转换数据格式为字典模式
stockCode = "000001.SZ"
pro = ts.pro_api()
data = pro.daily(ts_code=stockCode, start_date='20170701', end_date='20180718')

# 将数据从dataframe格式转换成split字典格式,并通过get获取其中的数据值
data = data.to_dict(orient='split')
data = data.get('data')


# 将获取的数据插入数据库
conn = psycopg2.connect(database="postgres", user="postgres", password="5432", host="127.0.0.1", port="5432")
cur = conn.cursor()
sqlIndex = "insert into SZ000001 (" \
           "ts_code," \
           "trade_date," \
           "price_open," \
           "price_high," \
           "price_low," \
           "price_close," \
           "price_pre_close," \
           "price_change," \
           "price_pct_chg," \
           "vol," \
           "amount) " \
           "values (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)"

cur.executemany(sqlIndex, data)
conn.commit

 

### 回答1: 如果您的问题是关于如何计算PostgreSQL数据库两列数据的差异,可以使用以下SQL查询语句: ``` SELECT column1 - column2 AS difference FROM your_table; ``` 其,`column1`和`column2`是您要比较的两列数据,`your_table`是包含这两列数据的表名。这将计算出这两列数据的差异并返回一个新的包含差异值的列。 如果您的问题是关于如何在PostgreSQL数据库删除两列数据之间的相同值,请使用以下SQL查询语句: ``` DELETE FROM your_table WHERE column1 = column2; ``` 其,`column1`和`column2`是您要比较的两列数据,`your_table`是包含这两列数据的表名。这将从表删除那些这两列数据相同的行。 ### 回答2: 在Postgres数据库,我们可以使用算术运算符将两个列的数据进行相减操作。 假设我们有一个表格名为"students",其有两个列"score1"和"score2",分别表示某个学生的第一次和第二次考试成绩。 要计算这两个列的差值,可以使用以下SQL查询语句: SELECT score2 - score1 AS score_diff FROM students; 这条查询语句将计算两个列之间的差值,并将结果存储在名为"score_diff"的新列。 如果我们希望查询结果只包含差值大于10的记录,可以添加WHERE子句: SELECT score2 - score1 AS score_diff FROM students WHERE score2 - score1 > 10; 这将返回差值大于10的记录。 需要注意的是,如果两个列数据类型不兼容,可能会导致相减操作失败。因此,在进行相减操作之前,应确保数据类型相匹配。 另外,如果我们希望将差值作为一个新的列添加到表格,可以使用ALTER TABLE语句: ALTER TABLE students ADD COLUMN score_diff INTEGER; 然后,可以使用UPDATE语句将差值添加到新列: UPDATE students SET score_diff = score2 - score1; 以上就是在Postgres数据库将两个列的数据相减的方法。 ### 回答3: 在Postgres数据库,我们可以使用减法操作符(-)将两个列的数据进行相减。假设我们有一个名为table的表,其包含两个列A和B,并且我们希望计算A列与B列的差值。 我们可以使用以下查询语句来实现: ``` SELECT A - B AS difference FROM table; ``` 这将返回一个名为difference的新列,其包含A列与B列的差值。我们可以根据需要更改SELECT语句的列名。 例如,如果A列的值为5,B列的值为3,则查询将返回结果为2的新列difference。我们可以通过在SELECT语句选择其他列来附加差值列。 需要注意的是,要进行减法操作,两个列的数据类型必须兼容。如果它们的数据类型不同,可能需要进行适当的类型转换以确保减法操作的正确执行。 希望这个回答能解决你的问题!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值