马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

#!/usr/local/bin/python

#-*-coding:utf-8-*-

#Get market data from futures exchanges

#designed and programed by lianxiangbin(LianZhang,qq785674410)

#2014-10-21

import urllib.request

import urllib.parse

import json

import sqlite3

import datetime

class MarketDataFromSHFE:

#define the attributes

def __init__(self,date,SaveUrl):

self.date=date[0:4]+date[5:7]+date[-2:];#"2014/05/23->20140523"

self.url="http://www.shfe.com.cn/data/dailydata/kx/kx"+self.date+".dat";

self.Data={};

self.SaveUrl=SaveUrl;

#get the html page

def GetWebPage(self):

MyPage=urllib.request.urlopen(self.url).read();#.decode("utf-8")

if not MyPage:

print("Dear Host,I can not find the web page");

return MyPage;

#this is the trading date

def GetTheTradingDay(self):

TradingDay=datetime.datetime(int(self.date[0:4]),int(self.date[4:6]),int(self.date[-2:]));

return TradingDay;

#Get the data we needed from the origin file

def GetNeededData(self):

MyPage=self.GetWebPage();

MyPage=eval(MyPage);

TradingDay=self.GetTheTradingDay();

#print(MyPage);

for dic in MyPage["o_curinstrument"]:

key=dic["PRODUCTID"].strip()+dic["DELIVERYMONTH"];

if (u"商品名称" in key) or (u"小计" in key) or (u"总计" in key):

continue;

Symbol=dic["PRODUCTID"].strip();

Symbol=Symbol[0:2];

values=[TradingDay,Symbol,dic["PRODUCTNAME"],dic["PRESETTLEMENTPRICE"],dic["OPENPRICE"],dic["HIGHESTPRICE"],dic["LOWESTPRICE"],dic["CLOSEPRICE"],\

dic["SETTLEMENTPRICE"],dic["ZD1_CHG"],dic["ZD2_CHG"],dic["VOLUME"],dic["OPENINTEREST"],dic["OPENINTERESTCHG"]];

self.Data.setdefault(key,values);

#Insert into DB

def InsertDataToDB(self):

self.GetNeededData();

conna=sqlite3.connect(self.SaveUrl);

#if conna:

#    print("database is successfully connected");

cursor=conna.cursor();

SQLquery1="create table if not exists SHFE(Contracts varchar(20),date datetime,Symbol varchar(10),prodctname nvarchar(30),PreSettlement numeric(15,2),\

Open numeric(15,2),High numeric(15,2),Low numeric(15,2),Close numeric(15,2),Settlement numeric(15,2),Change1 numeric(15,2),\

Change2 numeric(15,2),Volume numeric(25,2),OpenInt numeric(25,2),ChangeofOpenInt numeric(25,2))";

cursor.execute(SQLquery1);

for key,value in self.Data.items():

Iter=(key,value[0],value[1],value[2],value[3],value[4],value[5],value[6],value[7],value[8],value[9],value[10],value[11],value[12],value[13]);

#print(Iter);

SQLquery2="insert into SHFE"+" "+"values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";

cursor.execute(SQLquery2,Iter);

conna.commit();

conna.close();

if __name__=="__main__":

try:

test=MarketDataFromSHFE("2018/03/16","商品有夜盘.csv");

MyPage=test.InsertDataToDB();

except Exception as e:

print("something wrong");

print(e);

我想用这段代码爬取数据并保存到csv文件中,但是却发现保存好的csv文件

是这幅模样,请教大神怎么才能解决这个问题

python 保存本地乱码_请教大神,如何解决保存后的文件的乱码问题相关推荐

  1. python运行报错_请教大神python运行书上源码报错,请指点,谢谢

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 源码:# coding: utf-8 import sys, os sys.path.append(os.pardir) # 为了导入父目录的文件而进行的 ...

  2. python慢在哪里_求大神分析一下我的python脚本慢在哪里?

    请大神们分析下这个python脚本为什么会运行这么慢. 初衷: 公司有个料号系统, 在网站上输入料号就能查询相关的资料, 一般情况下, 我会ctrl+c, 打开网站, ctrl+v, 点击查询, 得到 ...

  3. 怎么取消苹果手机自动续费_请教大神们…苹果ID如何取消爱奇艺的自动续费?...

    前年在买什么会员(忘了,不是京东就是淘宝)时候赠送了爱奇艺会员(放长线钓大鱼),去年到期后也没有注意久远的事情了,结果爱奇艺来了个自动续费.218大洋啊,心痛!关键是买了爱奇艺基本上没怎么看过,主要的 ...

  4. python福利彩随机_看大神如何用Python分析福利彩票的秘密,百万大奖不是梦!

    相信福利彩票大家都买过吧,既然学爬虫为何不动手写个小程序抓一下呢,说不定还能发现福彩的秘密,本篇主要面向于对Python爬虫感兴趣的零基础的同学,实例为中彩网的福利3D彩票,比较有趣,小伙伴们一起动手 ...

  5. python开发教程视频教程_金牌大神讲师Alex带你学Python 153节课带你轻松学透Python开发视频教程_IT教程网...

    (1)\第一章:目录中文件数:29个 ├─01课程介绍(一).mp4 ├─02课程介绍(二)-Python与其他语言的区别.mp4 ├─03课程介绍(三)-Python生态圈.mp4 ├─04课程介绍 ...

  6. java在文本框中输出数据_请教大神,程序结果怎么打印到JTextArea()的文本域里

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 import java.awt.*; import javax.swing.*; import java.awt.event.*; import java ...

  7. xshell文件传输乱码_在Xshell中使用rz命令上传文件出现乱码且文件无法删除的解决办法...

    有些时候,我们在使用rz命令上传文件失败或者不小心输入命令会产生乱码文件名,之后尝试使用rm 删除这些文件,无果:使用rm -rf强制删除,亦无果.是不是很好奇为什么如此强大的rm命令竟然删除不了这些 ...

  8. js java传参乱码_【技术贴】解决前台js传参中文乱码

    方法1: 前台两次编码,后台一次解码.因为getParamet已经自动解了一次了. JavaScript: window.self.location="list.jsp?searchtext ...

  9. wps里的茶色字体怎么设置_《excel颜色筛选》 WPS2019的EXCEL整行填充一种颜色保存后关闭再打开就变成两种深浅不同的颜色是怎么回事呢?请大神帮忙解决...

    WPS2019的EXCEL整行填充一种颜色保存后关闭再打开就变成两种深浅不同的颜色是怎么回事呢?请大神帮忙解决 格式刷提取那个单元格格式复制后颜色,保存后打开也的吗? 还有你可以右键单元格后下两种的图 ...

最新文章

  1. 【BLE】TI CC2640R2F SDK结构以及一些概念解析
  2. Android学习笔记之android:collapseColumns,android:shrinkColumns和stretchColumn
  3. centos 下的 PHP 的编译过程
  4. 统计与机器学习的异同
  5. thinkphp省略php,ThinkPHP的截取字符串函数无法显示省略号的解决方法
  6. 分段二次插值例题_分段三次插值
  7. 标准C/C++程序通过gSOAP调用WebService
  8. 英特尔推出新CPU架构!3D封装打破摩尔定律限制,10nm芯片明年上市
  9. Json 转换 1 转成 true 0 转成false
  10. elasticsearch批量数据导入和导出
  11. 13个Python小游戏(含源码),开始敲起来,玩吧!
  12. Code Project精彩系列(1)
  13. 某网站字幕加密的wasm分析
  14. 3.5 上标下标和特殊符号的输入 [原创Excel教程]
  15. 支付宝(Alipay)支付,超详细使用教程讲解!
  16. 单链表排序之直接插入排序
  17. 汇编实现乐曲演奏《两只老虎》
  18. 一个java游戏有各种天书三国,机号申请的网络游戏,天书九卷,这游戏是免 的,里...
  19. Gym 100971A Treasure Island
  20. 中国石油大学《红楼梦研究》第一阶段在线作业

热门文章

  1. AQS 源码流程分析
  2. 预告丨大型出海知识盛宴,邀您一起 enjoy !
  3. 网易技术干货 | 云信Web SDK测试实践
  4. 互联网1分钟 | 0307 阿里巴巴与NBA升级中国合作伙伴关系;小米成立AIoT战略委员会...
  5. 互联网1分钟 | 0110 腾讯联手拳头游戏成立腾竞体育;百度智能云发布中国首款智能边缘计算产品BIE...
  6. 【20:30直播】网易老司机聊程序员的职场道路选择
  7. filebeat+elk简单搭配
  8. [Vue warn]: Computed property tabs was assigned to but it has no setter.
  9. Linux命令:ps,netstat,top
  10. Material Designer的低版本兼容实现(一)—— 简介 目录