手动下载股票列表 存入mongodb 并更新名字
#! /usr/bin/python2 # coding=utf-8 import os import csv import pymongoglobal stocks''' mongodb 删除数据库 use test; db.dropDatabase(); mongodb删除表 db.mytable.drop(); 清空表 db.mytable.remove({}) ''' class c_stock:def __init__(self, code, name):self.code = codeself.name = namedef init_mongodb():global stocks# mongodb_link = 'mongodb://127.0.0.1:27017' # mongoClient = MongoClient(mongodb_link) conn = pymongo.MongoClient("localhost", 27017)conn.stock_list.authenticate("d", "zz")db = conn.stock_liststocks = db.stocks#return stocks def write_dict(type):stocks.save(type.__dict__) def deal_data(code1, name1, date_start1, share_total1, share_outstanding1):code = code1.strip()name = name1.strip()date_start = date_start1.strip()share_total = share_total1.strip()share_outstanding = share_outstanding1.strip()cnt = stocks.find({"code":code}).count()#print cnt,"cnt" if (1 == cnt):l = stocks.find_one({"code": code})#for i in l: # print i.get("name") # print i.get("code") name_find = l.get("name")#name = "adc3" #str.decode("g18030") == str.decode("utf8") #if (0 != cmp(name, name_find)): if (name.decode("utf8") != name_find.decode("utf8")):stocks.update({"code":code}, {"$set":{"name":name, "date_start":date_start, "share_total":share_total ,"share_outstanding":share_outstanding}})print "------update name-------", name, name_find#stocks.update({"code": "123456"}, {$set:{"name": "babc123"}}) elif (0 == cnt):print "------insert name-------" stocks.insert({"code": code, "name": name, "date_start":date_start, "share_total":share_total ,"share_outstanding":share_outstanding})else:print "------remove name-------", cntstocks.remove({"code": code})stocks.insert({"code": code, "name":name, "date_start":date_start, "share_total":share_total ,"share_outstanding":share_outstanding})def get_stock_list_sh():list_name = ['sha.csv', 'shb.csv']for name in list_name:try:csvfile = file(name, 'rb')reader = csv.reader(csvfile)for line in reader:try:# 忽略第一行 if reader.line_num == 1:continue #list_code.append(line[0]) # print(' said: ', '') i = 2 print line[i], line[i+1], line[i+2], line[i+3], line[i+4]deal_data(line[i], line[i+1], line[i+2], line[i+3], line[i+4])except ValueError:pass print "name --",name, locals()# csvfile.close() except IOError as err: # 使用as将异常对象,并将其赋值给一个标识符 print('File Error:' + str(err)) # ‘+’用于字符串直接的连接 finally:if 'csvfile' in locals():csvfile.close()print "close" def get_stock_list_sz():list_name = ['sz.csv']for name in list_name:try:csvfile = file(name, 'rb')reader = csv.reader(csvfile)for line in reader:try:# 忽略第一行 if reader.line_num == 1:continue #list_code.append(line[0]) # print(' said: ', '') i = 5 j = 5 #print line print "a---",line[i], line[i + 1], line[i + 2], line[i + 3], line[i + 4]print "b---",line[i + j], line[i + 1+ j], line[i + 2+ j], line[i + 3+ j], line[i + 4+ j]if ('' != line[i]):deal_data(line[i], line[i + 1], line[i + 2], line[i + 3], line[i + 4])#print line[i + j] if ('' != line[i + j]):print "-------------------sz---------b-----------------",line[i + j]deal_data(line[i + j], line[i + 1+ j], line[i + 2+ j], line[i + 3+ j], line[i + 4+ j])except ValueError:pass print "anme2 ---", name, locals()# csvfile.close() except IOError as err: # 使用as将异常对象,并将其赋值给一个标识符 print('File Error:' + str(err)) # ‘+’用于字符串直接的连接 finally:if 'csvfile' in locals():csvfile.close()print "close" if __name__ == '__main__':init_mongodb()print stocks.count()#stocks.drop(); get_stock_list_sh()get_stock_list_sz()print stocks.count()
手动下载股票列表 存入mongodb 并更新名字相关推荐
- 【爬虫】scrapy下载股票列表(四)——对接mongodb保存数据
本文是本项目最后一篇,撒花! 前三篇传送门: [爬虫]scrapy下载股票列表(一)--对接selenium中间件: https://blog.csdn.net/yao09605/article/de ...
- Python量化交易学习笔记(21)——A股股票列表更新
在zwPython2020中,股票数据下载更新时,所读取的股票列表文件的目录位置为"zwPython\TQDat\TQDown2020v1\data\tq_wrk_code.csv" ...
- A股数据分析之收集数据:股票列表和股价
数据是进行数据分析的前提,本文主要讲述如何使用Python收集中国沪深两市的基础股票数据:股票列表和股价. 股票列表 众所周知,对于A股,中国有两个交易所即上海证券交易所和深圳证券交易所.我们主要从他 ...
- tushare数据存入mysql代码_下载股票的历史日交易数据并存入数据库——基于tushare...
tushare是一个非常神奇的Python模块包,基于新浪的API,可提供并不限于股票的历史数据. 数据库选用的是sqlite3,单文件,轻量化,不需要配置. 以下是完整代码,且使用的是多线程的方式. ...
- A股股票列表下载——从零到实盘2
目前实盘主要用到的是A股的日线数据,在BaoStock.Tushare.AKShare等平台上,均能免费下载日线数据,我们先选择BaoStock作为数据源.本文记录从BaoStock下载A股股票列表的 ...
- 下载股票的历史日交易数据并存入数据库——基于tushare
https://www.jianshu.com/p/81cc8daea0eb tushare是一个非常神奇的Python模块包,基于新浪的API,可提供并不限于股票的历史数据. 数据库选用的是sqli ...
- 用python获取tushare数据并存入mysql数据库(一)股票列表
编程语言:python 编程工具:pycharm 数据来源:tushare 连接mysql方式:SQLAlchemy 1.创建"股票列表"表结构,存为mysql_tables_st ...
- tushare股票列表mysql_用python获取tushare数据并存入mysql数据库(一)股票列表
编程语言:python 编程工具:pycharm 数据来源:tushare 连接mysql方式:SQLAlchemy 1.创建"股票列表"表结构,存为mysql_tables_st ...
- 苹果电脑删除下载的更新文件_软件更新,无需手动下载更新文件。不再依赖QQ浏览器。...
经过一段时间折腾,学习了一些新玩意. 以后的脚本可以达到不下载更新文件而直接启动就是最新版的,但是全程需要良好网络. 下载链接再放一遍 https://wwa.lanzous.com/b099irtr ...
最新文章
- Mybatis ResolverUtil的设计概念
- OpenCV运行自定义OCR模型
- jquery 滚动条插件
- 机器学习从入门到精通50讲(四)-实时数仓应用实践案例
- 打开pjsip2.1版本的视频支持
- [Node.js]001.安装与环境配置
- word转pdf公式乱码_word转换pdf公式乱码怎么办
- 2022百度之星程序设计大赛 - 复赛 1003 最大值
- 【转】VBA编程入门(二)
- 打印预览和实际的打印不一致问题
- ACCESS数据库联结表实现
- 团队如何开会,开会准则
- java 转pem_将Java密钥库转换为PEM格式
- 数字化进阶在即,智慧医院建设迎来黄金期-2020爱分析·中国智慧医院行业趋势报告
- 2.4g语音遥控器小结
- 【信息安全】信息安全风险评估-实践指南
- linux cc***防范
- STM32读取DHT11中时序的问题,通过逻辑分析仪读取信号
- case when 用法
- 自媒体有什么副业?做自媒体有哪些变现方式
热门文章
- 用GridView实现SPListItemCollection翻页
- 在Android中利用iText生成PDF
- 使用dom4j来解析相关的xml字符串
- Android 号码, 来电归属地 Jni 使用C++对二进制文件查询(一) 理论篇
- 初接触设计模式--简单工厂(二)
- 专访死马:为什么说Egg.js是企业级Node框架
- zookeeper集群
- 黄聪:WordPress动作钩子函数add_action()、do_action()源码解析
- 利用ClustrMaps | GoStats | 51la | Google Analytics统计和分析访问量
- c# ComboBox禁用鼠标滚轮