导航:首页 > 编程语言 > pyhs2python3

pyhs2python3

发布时间:2025-07-15 17:19:31

❶ tushare的接口怎么样使用

一、安装TuShare

方式1:pip install tushare

方式2:访问https://pypi.python.org/pypi/tushare/下载安装

方式3:将源代码下载到本地python setup.py install

二、升级TuShare

1、先查看本地与线上的版本版本号:

pip search tushare

2、升级TuShare:

pip install tushare --upgrade

确认安装成功

import tushare as ts
print ts.__version__
import tushare as ts
df = ts.get_hist_data(‘600848’)
ts.get_hist_data(‘600848’,ktype='W‘) #获取周k线数据
ts.get_hist_data('600848’,ktype='M‘) #获取月k线数据
ts.get_hist_data('600848’,ktype='5‘) #获取5分钟k线数据
ts.get_hist_data('600848’,ktype='15‘) #获取15分钟k线数据
ts.get_hist_data('600848’,ktype='30‘) #获取30分钟k线数据
ts.get_hist_data('600848’,ktype='60‘) #获取60分钟k线数据
ts.get_hist_data('sh’)#获取上证指数k线数据,其它参数与个股一致,下同
ts.get_hist_data(‘sz’)#获取深圳成指k线数据 ts.get_hist_data(‘hs300’)#获取沪深300指数k线数据
ts.get_hist_data(‘sz50’)#获取上证50指数k线数据
ts.get_hist_data(‘zxb’)#获取中小板指数k线数据
ts.get_hist_data(‘cyb’)#获取创业板指数k线数据
Python财经数据接口包TuShare的使用
获取历史分笔数据
df = ts.get_tick_data(‘000756','2015-03-27’)
df.head(10)
Python财经数据接口包TuShare的使用
获取实时分笔数据
df = ts.get_realtime_quotes(‘000581’)
print df[['code','name','price','bid','ask','volume','amount','time']]
返回值说明:
0:name,股票名字
1:open,今日开盘价
2:pre_close,昨日收盘价
3:price,当前价格
4:high,今日最高价
5:low,今日最低价
6:bid,竞买价,即“买一”报价
7:ask,竞卖价,即“卖一”报价
8:volumn,成交量 maybe you need do volumn/100
9:amount,成交金额(元 CNY)
10:b1_v,委买一(笔数 bid volume)
11:b1_p,委买一(价格 bid price)
12:b2_v,“买二”
13:b2_p,“买二”
14:b3_v,“买三”
15:b3_p,“买三”
16:b4_v,“买四”
17:b4_p,“买四”
18:b5_v,“买五”
19:b5_p,“买五”
20:a1_v,委卖一(笔数 ask volume)
21:a1_p,委卖一(价格 ask price)

30:date,日期
31:time,时间

❷ python连接hive,怎么安装thrifthive

HiveServer2的启动

启动HiveServer2

HiveServer2的启动十分简便:

$ $HIVE_HOME/bin/hiveserver2

或者

$ $HIVE_HOME/bin/hive --service hiveserver2

默认情况下,HiverServer2的Thrift监听端口是10000,其WEB UI端口是10002。可通过http://localhost:10002来查看HiveServer2的Web UI界面,这里显示了Hive的一些基本信息。如果Web界面不能查看,则说明HiveServer2没有成功运行。

使用beeline测试客户端连接

HiveServer2成功运行后,我们可以使用Hive提供的客户端工具beeline连接HiveServer2。

$ $HIVE_HOME/bin/beeline

beeline > !connect jdbc:hive2://localhost:10000

如果成功登录将出现如下的命令提示符,此时可以编写HQL语句。

0: jdbc:hive2://localhost:10000>

报错:User: xxx is not allowed to impersonate anonymous

在beeline使用!connect连接HiveServer2时可能会出现如下错误信息:

Caused by: org.apache.hadoop.ipc.RemoteException:
User: xxx is not allowed to impersonate anonymous

这里的xxx是我的操作系统用户名称。这个问题的解决方法是在hadoop的core-size.xml文件中添加xxx用户代理配置:

<property> <name>hadoop.proxyuser.xxx.groups</name> <value>*</value></property><property> <name>hadoop.proxyuser.xxx.hosts</name> <value>*</value></property>

重启HDFS后,再用beeline连接HiveServer2即可成功连接。

常用配置

HiveServer2的配置可以参考官方文档《Setting Up HiveServer2》

这里列举一些hive-site.xml的常用配置:

hive.server2.thrift.port:监听的TCP端口号。默认为10000。

hive.server2.thrift.bind.host:TCP接口的绑定主机。

hive.server2.authentication:身份验证方式。默认为NONE(使用 plain SASL),即不进行验证检查。可选项还有NOSASL, KERBEROS, LDAP, PAM and CUSTOM.

hive.server2.enable.doAs:是否以模拟身份执行查询处理。默认为true。

Python客户端连接HiveServer2

python中用于连接HiveServer2的客户端有3个:pyhs2,pyhive,impyla。官网的示例采用的是pyhs2,但pyhs2的官网已声明不再提供支持,建议使用impyla和pyhive。我们这里使用的是impyla。

impyla的安装

impyla必须的依赖包括:

❸ python代码运行助手怎么打开

python代码运行助手是能在网页上运行python语言的工具。因为python的运行环境在很多教程里都是用dos的,黑乎乎的界面看的有点简陋,所以出了这python代码运行助手,作为ide。

实际上,python代码运行助手界面只能算及格分,如果要找ide,推荐使用jupyter。jupyter被集成到ANACONDA里,只要安装了anacoda就能使用了。

回到这个问题:

1、要打开这运行助手首先要下载一个learning.py,如果找不到可以复制如下代码另存为“learning.py”,编辑器用sublime、或者notepad++。

#!/usr/bin/envpython3
#-*-coding:utf-8-*-

r'''
learning.py

APython3tutorialfromhttp://www.liaoxuefeng.com

Usage:

python3learning.py
'''

importsys

defcheck_version():
v=sys.version_info
ifv.major==3andv.minor>=4:
returnTrue
print('Yourcurrentpythonis%d.%d.PleaseusePython3.4.'%(v.major,v.minor))
returnFalse

ifnotcheck_version():
exit(1)

importos,io,json,subprocess,tempfile
fromurllibimportparse
fromwsgiref.simple_serverimportmake_server

EXEC=sys.executable
PORT=39093
HOST='local.liaoxuefeng.com:%d'%PORT
TEMP=tempfile.mkdtemp(suffix='_py',prefix='learn_python_')
INDEX=0

defmain():
httpd=make_server('127.0.0.1',PORT,application)
print('ReadyforPythoncodeonport%d...'%PORT)
httpd.serve_forever()

defget_name():
globalINDEX
INDEX=INDEX+1
return'test_%d'%INDEX

defwrite_py(name,code):
fpath=os.path.join(TEMP,'%s.py'%name)
withopen(fpath,'w',encoding='utf-8')asf:
f.write(code)
print('Codewroteto:%s'%fpath)
returnfpath

defdecode(s):
try:
returns.decode('utf-8')
exceptUnicodeDecodeError:
returns.decode('gbk')

defapplication(environ,start_response):
host=environ.get('HTTP_HOST')
method=environ.get('REQUEST_METHOD')
path=environ.get('PATH_INFO')
ifmethod=='GET'andpath=='/':
start_response('200OK',[('Content-Type','text/html')])
return[b'<html><head><title>LearningPython</title></head><body><formmethod="post"action="/run"><textareaname="code"style="width:90%;height:600px"></textarea><p><buttontype="submit">Run</button></p></form></body></html>']
ifmethod=='GET'andpath=='/env':
start_response('200OK',[('Content-Type','text/html')])
L=[b'<html><head><title>ENV</title></head><body>']
fork,vinenviron.items():
p='<p>%s=%s'%(k,str(v))
L.append(p.encode('utf-8'))
L.append(b'</html>')
returnL
ifhost!=HOSTormethod!='POST'orpath!='/run'ornotenviron.get('CONTENT_TYPE','').lower().startswith('application/x-www-form-urlencoded'):
start_response('400BadRequest',[('Content-Type','application/json')])
return[b'{"error":"bad_request"}']
s=environ['wsgi.input'].read(int(environ['CONTENT_LENGTH']))
qs=parse.parse_qs(s.decode('utf-8'))
ifnot'code'inqs:
start_response('400BadRequest',[('Content-Type','application/json')])
return[b'{"error":"invalid_params"}']
name=qs['name'][0]if'name'inqselseget_name()
code=qs['code'][0]
headers=[('Content-Type','application/json')]
origin=environ.get('HTTP_ORIGIN','')
iforigin.find('.liaoxuefeng.com')==-1:
start_response('400BadRequest',[('Content-Type','application/json')])
return[b'{"error":"invalid_origin"}']
headers.append(('Access-Control-Allow-Origin',origin))
start_response('200OK',headers)
r=dict()
try:
fpath=write_py(name,code)
print('Execute:%s%s'%(EXEC,fpath))
r['output']=decode(subprocess.check_output([EXEC,fpath],stderr=subprocess.STDOUT,timeout=5))
exceptsubprocess.CalledProcessErrorase:
r=dict(error='Exception',output=decode(e.output))
exceptsubprocess.TimeoutExpiredase:
r=dict(error='Timeout',output='执行超时')
exceptsubprocess.CalledProcessErrorase:
r=dict(error='Error',output='执行错误')
print('Executedone.')
return[json.mps(r).encode('utf-8')]

if__name__=='__main__':
main()

2,再用一个记事本写如下的代码:

@echooff
pythonlearning.py
pause

另存为‘运行.bat’

3、把“运行.bat”和“learning.py”放到同一目录下,

❹ tushare的接口怎么样使用

安装TuShare
方式1:pip install tushare
方式2:访问https://pypi.python.org/pypi/tushare/下载安装
方式3:将源代码下载到本地python setup.py install
升级TuShare
1、先查看本地与线上的版本版本号:
pip search tushare
2、升级TuShare:
pip install tushare --upgrade
确认安装成功
import tushare as ts
print ts.__version__
获取历史交易数据
import tushare as ts
df = ts.get_hist_data(‘600848’)
ts.get_hist_data(‘600848’,ktype='W‘) #获取周k线数据
ts.get_hist_data('600848’,ktype='M‘) #获取月k线数据
ts.get_hist_data('600848’,ktype='5‘) #获取5分钟k线数据
ts.get_hist_data('600848’,ktype='15‘) #获取15分钟k线数据
ts.get_hist_data('600848’,ktype='30‘) #获取30分钟k线数据
ts.get_hist_data('600848’,ktype='60‘) #获取60分钟k线数据
ts.get_hist_data('sh’)#获取上证指数k线数据,其它参数与个股一致,下同
ts.get_hist_data(‘sz’)#获取深圳成指k线数据 ts.get_hist_data(‘hs300’)#获取沪深300指数k线数据
ts.get_hist_data(‘sz50’)#获取上证50指数k线数据
ts.get_hist_data(‘zxb’)#获取中小板指数k线数据
ts.get_hist_data(‘cyb’)#获取创业板指数k线数据
Python财经数据接口包TuShare的使用
获取历史分笔数据
df = ts.get_tick_data(‘000756','2015-03-27’)
df.head(10)
Python财经数据接口包TuShare的使用
获取实时分笔数据
df = ts.get_realtime_quotes(‘000581’)
print df[['code','name','price','bid','ask','volume','amount','time']]
返回值说明:
0:name,股票名字
1:open,今日开盘价
2:pre_close,昨日收盘价
3:price,当前价格
4:high,今日最高价
5:low,今日最低价
6:bid,竞买价,即“买一”报价
7:ask,竞卖价,即“卖一”报价
8:volumn,成交量 maybe you need do volumn/100
9:amount,成交金额(元 CNY)
10:b1_v,委买一(笔数 bid volume)
11:b1_p,委买一(价格 bid price)
12:b2_v,“买二”
13:b2_p,“买二”
14:b3_v,“买三”
15:b3_p,“买三”
16:b4_v,“买四”
17:b4_p,“买四”
18:b5_v,“买五”
19:b5_p,“买五”
20:a1_v,委卖一(笔数 ask volume)
21:a1_p,委卖一(价格 ask price)

30:date,日期
31:time,时间

❺ python stackless 怎么多线程并发

1 介绍

1.1 为什么要使用Stackless

摘自stackless网站。

Note

Stackless Python 是Python编程语言的一个增强版本,它使程序员从基于线程的编程方式中获得好处,并避免传统线程所带来的性能与复杂度问题。Stackless为 Python带来的微线程扩展,是一种低开销、轻量级的便利工具,如果使用得当,可以获益如下:

❻ 如何利用深度学习技术训练聊天机器人语言模型

数据预处理

模型能聊的内容也取决于选取的语料。如果已经具备了原始聊天数据,可以用SQL通过关键字查询一些对话,也就是从大库里选取出一个小库来训练。从一些论文上,很多算法都是在数据预处理层面的,比如Mechanism-Aware Neural Machine for Dialogue Response Generation就介绍了,从大库中抽取小库,然后再进行融合,训练出有特色的对话来。

对于英语,需要了解NLTK,NLTK提供了加载语料,语料标准化,语料分类,PoS词性标注,语意抽取等功能。

另一个功能强大的工具库是CoreNLP,作为 Stanford开源出来的工具,特色是实体标注,语意抽取,支持多种语言。

下面主要介绍两个内容:

中文分词

现在有很多中文分词的SDK,分词的算法也比较多,也有很多文章对不同SDK的性能做比较。做中文分词的示例代码如下。

# coding:utf8
'''
Segmenter with Chinese
'''

import jieba
import langid


def segment_chinese_sentence(sentence):
'''
Return segmented sentence.
'''
seg_list = jieba.cut(sentence, cut_all=False)
seg_sentence = u" ".join(seg_list)
return seg_sentence.strip().encode('utf8')


def process_sentence(sentence):
'''
Only process Chinese Sentence.
'''
if langid.classify(sentence)[0] == 'zh':
return segment_chinese_sentence(sentence)
return sentence

if __name__ == "__main__":
print(process_sentence('飞雪连天射白鹿'))
print(process_sentence('I have a pen.'))

以上使用了langid先判断语句是否是中文,然后使用jieba进行分词。

在功能上,jieba分词支持全切分模式,精确模式和搜索引擎模式。

全切分:输出所有分词。

精确:概率上的最佳分词。

所有引擎模式:对精确切分后的长句再进行分词。

jieba分词的实现

主要是分成下面三步:

1、加载字典,在内存中建立字典空间。

字典的构造是每行一个词,空格,词频,空格,词性。

上诉书 3 n
上诉人 3 n
上诉期 3 b
上诉状 4 n
上课 650 v

建立字典空间的是使用python的dict,采用前缀数组的方式。

使用前缀数组的原因是树结构只有一层 -word:freq,效率高,节省空间。比如单词"dog", 字典中将这样存储:

{
"d": 0,
"do": 0,
"dog": 1 # value为词频
}

字典空间的主要用途是对输入句子建立有向无环图,然后根据算法进行切分。算法的取舍主要是根据模式- 全切,精确还是搜索。

2、对输入的语句分词,首先是建立一个有向无环图。
有向无环图,Directed acyclic graph(音 /ˈdæɡ/)。

【图 3-2】 DAG

DAG对于后面计算最大概率路径和使用HNN模型识别新词有直接关系。

3、按照模式,对有向无环图进行遍历,比如,在精确模式下,便利就是求最大权重和的路径,权重来自于在字典中定义的词频。对于没有出现在词典中的词,连续的单个字符也许会构成新词。然后用HMM模型和Viterbi算法识别新词。

精确模型切词:使用动态规划对最大概率路径进行求解。

最大概率路径:求route = (w1, w2, w3 ,.., wn),使得Σweight(wi)最大。Wi为该词的词频。

更多的细节还需要读一下jieba的源码。

自定义字典

jieba分词默认的字典是:1998人民日报的切分语料还有一个msr的切分语料和一些txt小说。开发者可以自行添加字典,只要符合字典构建的格式就行。

jieba分词同时提供接口添加词汇。

Word embedding

使用机器学习训练的语言模型,网络算法是使用数字进行计算,在输入进行编码,在输出进行解码。word embedding就是编解码的手段。

【图 3-3】 word embedding, Ref. #7

word embedding是文本的数值化表示方法。表示法包括one-hot,bag of words,N-gram,分布式表示,共现矩阵等。

Word2vec

近年来,word2vec被广泛采用。Word2vec输入文章或者其他语料,输出语料中词汇建设的词向量空间。详细可参考word2vec数学原理解析。

使用word2vec

安装完成后,得到word2vec命令行工具。

word2vec -train "data/review.txt"
-output "data/review.model"
-cbow 1
-size 100
-window 8
-negative 25
-hs 0
-sample 1e-4
-threads 20
-binary 1
-iter 15

-train "data/review.txt" 表示在指定的语料库上训练模型

-cbow 1 表示用cbow模型,设成0表示用skip-gram模型

-size 100 词向量的维度为100

-window 8 训练窗口的大小为8 即考虑一个单词的前八个和后八个单词

-negative 25 -hs 0 是使用negative sample还是HS算法

-sample 1e-4 采用阈值

-threads 20 线程数

-binary 1 输出model保存成2进制

-iter 15 迭代次数

在训练完成后,就得到一个model,用该model可以查询每个词的词向量,在词和词之间求距离,将不同词放在数学公式中计算输出相关性的词。比如:

vector("法国") - vector("巴黎) + vector("英国") = vector("伦敦")"

对于训练不同的语料库,可以单独的训练词向量模型,可以利用已经训练好的模型。

其它训练词向量空间工具推荐:Glove。

Seq2Seq

2014年,Sequence to Sequence Learning with Neural Networks提出了使用深度学习技术,基于RNN和LSTM网络训练翻译系统,取得了突破,这一方法便应用在更广泛的领域,比如问答系统,图像字幕,语音识别,撰写诗词等。Seq2Seq完成了【encoder + decoder -> target】的映射,在上面的论文中,清晰的介绍了实现方式。

【图 3-4】 Seq2Seq, Ref. #1

也有很多文章解读它的原理。在使用Seq2Seq的过程中,虽然也研究了它的结构,但我还不认为能理解和解释它。下面谈两点感受:

a. RNN保存了语言顺序的特点,这和CNN在处理带有形状的模型时如出一辙,就是数学模型的设计符合物理模型。

【图 3-5】 RNN, Ref. #6

b. LSTM Cell的复杂度对应了自然语言处理的复杂度。

【图 3-6】 LSTM, Ref. #6

理由是,有人将LSTM Cell尝试了多种其它方案传递状态,结果也很好。

【图 3-7】 GRU, Ref. #6

LSTM的一个替代方案:GRU。只要RNN的Cell足够复杂,它就能工作的很好。

使用DeepQA2训练语言模型

准备工作,下载项目:

git clone https://github.com/Samurais/DeepQA2.git
cd DeepQA2
open README.md # 根据README.md安装依赖包

DeepQA2将工作分成三个过程:

数据预处理:从语料库到数据字典。

训练模型:从数据字典到语言模型。

提供服务:从语言模型到RESt API。

预处理

DeepQA2使用Cornell Movie Dialogs Corpus作为demo语料库。

原始数据就是movie_lines.txt和movie_conversations.txt。这两个文件的组织形式参考README.txt

deepqa2/dataset/preprocesser.py是将这两个文件处理成数据字典的模块。

train_max_length_enco就是问题的长度,train_max_length_deco就是答案的长度。在语料库中,大于该长度的部分会被截断。

程序运行后,会生成dataset-cornell-20.pkl文件,它加载到python中是一个字典:

word2id存储了{word: id},其中word是一个单词,id是int数字,代表这个单词的id。

id2word存储了{id: word}。

trainingSamples存储了问答的对话对。

比如 [[[1,2,3],[4,5,6]], [[7,8,9], [10, 11, 12]]]

1,2,3 ... 12 都是word id。

[1,2,3] 和 [4,5,6] 构成一个问答。 [7,8,9] 和 [10, 11, 12] 构成一个问答。

开始训练

cp config.sample.ini config.ini # modify keys
python deepqa2/train.py

config.ini是配置文件, 根据config.sample.ini进行修改。训练的时间由epoch,learning rate, maxlength和对话对的数量而定。

deepqa2/train.py大约100行,完成数据字典加载、初始化tensorflow的session,saver,writer、初始化神经元模型、根据epoch进行迭代,保存模型到磁盘。

session是网络图,由placeholder, variable, cell, layer, output 组成。

saver是保存model的,也可以用来恢复model。model就是实例化variable的session。

writer是查看loss fn或者其他开发者感兴趣的数据的收集器。writer的结果会被saver保存,然后使用tensorboard查看。

Model

Model的构建要考虑输入,状态,softmax,输出。

定义损耗函数,使用AdamOptimizer进行迭代。

最后,参考一下训练的loop部分。

每次训练,model会被存储在save路径下,文件夹的命名根据机器的hostname,时间戳生成。

提供服务

在TensorFlow中,提供了标准的serving模块 - tensorflow serving。但研究了很久,还专门看了一遍 《C++ Essentials》,还没有将它搞定,社区也普遍抱怨tensorflow serving不好学,不好用。训练结束后,使用下面的脚本启动服务,DeepQA2的serve部分还是调用TensorFlow的python api。

cd DeepQA2/save/deeplearning.cobra.vulcan.20170127.175256/deepqa2/serve
cp db.sample.sqlite3 db.sqlite3
python manage.py runserver 0.0.0.0:8000

测试

POST /api/v1/question HTTP/1.1
Host: 127.0.0.1:8000
Content-Type: application/json
Authorization: Basic YWRtaW46cGFzc3dvcmQxMjM=
Cache-Control: no-cache

{"message": "good to know"}

response
{
"rc": 0,
"msg": "hello"
}

serve的核心代码在serve/api/chatbotmanager.py中。

使用脚本

scripts/start_training.sh启动训练

scripts/start_tensorboard.sh启动Tensorboard

scripts/start_serving.sh启动服务

对模型的评价

目前代码具有很高的维护性,这也是从DeepQA项目进行重构的原因,更清晰的数据预处理、训练和服务。有新的变更可以添加到deepqa2/models中,然后在train.py和chatbotmanager.py变更一下。

有待改进的地方

a. 新建models/rnn2.py, 使用dropout。目前DeepQA中已经使用了Drop.

b. tensorflow rc0.12.x中已经提供了seq2seq network,可以更新成tf版本.

c. 融合训练,目前model只有一个库,应该是设计一个新的模型,支持一个大库和小库,不同权重进行,就如Mechanism-Aware Neural Machinefor Dialogue Response Generation的介绍。

d. 代码支持多机多GPU运行。

e. 目前训练的结果都是QA对,对于一个问题,可以有多个答案。

f. 目前没有一个方法进行accuracy测试,一个思路是在训练中就提供干扰项,因为当前只有正确的答案,如果提供错误的答案(而且越多越好),就可以使用recall_at_k方法进行测试。

机器人家上了解到的,希望对你有用

❼ tushare的接口怎么样使用

Tushare简介
Tushare金融大数据开放社区,免费提供各类金融数据和区块链数据,助力智能投资与创新型投资。网址:https://tushare.pro/register?reg=527754
注:推广一下分享链接,帮我攒点积分,你好我也好 ^_^ 。

python环境安装

强烈建议使用Anaconda,Anaconda的安装见:https://tushare.pro/document/1?doc_id=29
python的IDE我使用vscode,在Anaconda主界面中直接打开vscode,它会帮你设置好环境,简单方便。

tushare库安装
打开vscode的[查看]->[终端],输入 pip install tushare 即可安装tushare。输入 pip install tushare --upgrade 即可更新tushare。缺少或者更新其他python库,参照这个方法即可。
环境安装好后,就可以开工了。直接上代码,这份代码从Tushare下载股票列表数据,保存为csv文件,同时保存在mssql数据库中。

注意:在to_sql中的schema参数为数据库名,需要带上该数据库的角色,我使用sa登录,数据库隶属于dbo。使用to_sql不需要创建表,pandas会自动帮你创建好,也不需要自己写插入数据的代码,还是很方便的。如果你在表中增加了主键或者唯一索引,有重复数据时批量入库会失败。tushare本身是有少量重复数据的。采用逐行入库的方式速度会比较慢,需要根据业务自己衡量选择。

#!/usr/bin/python3
# coding:utf-8
# -*- coding: utf-8 -*-
import time

import datetime
import random
import tushare

import pandas
import pymssql
import sqlalchemy
#需修改的参数

stock_list_file = 'stock_list.csv' #股票列表文件csv
#tushare token

tushare_token='你自己的token'

#数据库参数
db_host = '127.0.0.1'
db_user = 'sa'
db_password = 'pwd'
db_db = 'quantum'
db_charset = 'utf8'
db_url = 'mssql+pymssql://sa:[email protected]:1433/quantum'
#股票列表

def get_stock_basic() :
print('开始下载股票列表数据')
#获取tushare

pro = tushare.pro_api()
#下载

data = pro.stock_basic(fields='ts_code,symbol,name,fullname,list_status,list_date,delist_date')
#保存到csv文件
data.to_csv(stock_list_file)
#入库

engine = sqlalchemy.create_engine(db_url)
try:

#先一次性入库,异常后逐条入库
pandas.io.sql.to_sql(data, 'stock_basic', engine, schema='quantum.dbo', if_exists='append', index=False)
except :
#逐行入库
print('批量入库异常,开始逐条入库.')
for indexs in data.index :
line = data.iloc[indexs:indexs+1, :]
try:

pandas.io.sql.to_sql(line, 'stock_basic', engine, schema='quantum.dbo', if_exists='append', index=False, chunksize=1)
except:
print('股票列表数据入库异常:')
print(line)
finally:
pass
finally:
pass
print('完成下载股票列表数据')
return 1
#全量下载所有股票列表数据

if __name__ == '__main__':
print('开始...')
#初始化tushare

tushare.set_token(tushare_token)
print('获取股票列表')
get_stock_basic()
print('结束')

❽ 我用Python做了一个樱花树,360说有活动感染病毒正在入侵你的电脑,怎么回事。

你的exe应用没有安全证书,360就会报错的,我也遇到过。没关系。网上下载的应用都是有安全证书的。你把360关了就行。

阅读全文

与pyhs2python3相关的资料

热点内容
cv单片机 浏览:254
安卓平板怎么写qq 浏览:61
编译原理实验教程光盘 浏览:505
hadoop上传命令 浏览:371
androidlauncher设置 浏览:775
app登录服务器地址 浏览:573
安卓编程难学吗 浏览:772
光盘来源码 浏览:918
众包app怎么下线 浏览:917
考电工证的app叫什么 浏览:134
免流服务器什么系统 浏览:495
压缩图片不改变像素 浏览:655
方舟生存进化怎么看服务器地址 浏览:728
Keep跳绳怎么绑定keep的app 浏览:257
android数据库在哪里 浏览:405
注册云服务器价格 浏览:412
Python制作红包软件 浏览:768
压缩图片文字变清晰 浏览:895
linux服务器安全pdf 浏览:878
什么要用到服务器 浏览:739