• <u id="atpb8"></u>
    <wbr id="atpb8"><ins id="atpb8"></ins></wbr>
  • <ins id="atpb8"></ins>

  • <acronym id="atpb8"><bdo id="atpb8"></bdo></acronym>

    1. <input id="atpb8"></input><i id="atpb8"><sub id="atpb8"></sub></i>
    2. Tushare Pro 新版發布,數據更穩定質量更好,歡迎注冊使用。

      ?

      數據存儲模塊主要是引導用戶將數據保存在本地磁盤或數據庫服務器上,便于后期的量化分析和回測使用,在以文件格式保存在電腦磁盤的方式上,調用的是pandas本身自帶的方法,此處會羅列常用的參數和說明,另外,也會通過實例,展示操作的方法。在存入DataBase方面,也提供了簡單的處理方式,本文將給出簡單的python代碼。

      • 保存為csv格式
      • 保存為Excel格式
      • 保存為HDF5文件格式
      • 保存為JSON格式
      • 存入MySQL等關系型數據庫
      • 存入NoSQL數據庫

      CSV文件?

      pandas的DataFrame和Series對象提供了直接保存csv文件格式的方法,通過參數設定,輕松將數據內容保存在本地磁盤。

      常用參數說明:

      • path_or_buf: csv文件存放路徑或者StringIO對象
      • sep : 文件內容分隔符,默認為,逗號
      • na_rep: 在遇到NaN值時保存為某字符,默認為’‘空字符
      • float_format: float類型的格式
      • columns: 需要保存的列,默認為None
      • header: 是否保存columns名,默認為True
      • index: 是否保存index,默認為True
      • mode : 創建新文件還是追加到現有文件,默認為新建
      • encoding: 文件編碼格式
      • date_format: 日期格式

      注:在設定path時,如果目錄不存在,程序會提示IOError,請先確保目錄已經存在于磁盤中。

      調用方法:

      import tushare as ts
      
      df = ts.get_hist_data('000875')
      #直接保存
      df.to_csv('c:/day/000875.csv')
      
      #選擇保存
      df.to_csv('c:/day/000875.csv',columns=['open','high','low','close'])
      

      追加數據的方式:

      某些時候,可能需要將一些同類數據保存在一個大文件中,這時候就需要將數據追加在同一個文件里,簡單舉例如下:

      import tushare as ts
      import os
      
      filename = 'c:/day/bigfile.csv'
      for code in ['000875', '600848', '000981']:
          df = ts.get_hist_data(code)
          if os.path.exists(filename):
              df.to_csv(filename, mode='a', header=None)
          else:
              df.to_csv(filename)
      

      【注:如果是不考慮header,直接df.to_csv(filename, mode=’a’)即可,否則,每次循環都會把columns名稱也append進去】

      Excel文件?

      pandas將數據保存為MicroSoft Excel文件格式。

      常用參數說明:

      • excel_writer: 文件路徑或者ExcelWriter對象
      • sheet_name:sheet名稱,默認為Sheet1
      • sep : 文件內容分隔符,默認為,逗號
      • na_rep: 在遇到NaN值時保存為某字符,默認為’‘空字符
      • float_format: float類型的格式
      • columns: 需要保存的列,默認為None
      • header: 是否保存columns名,默認為True
      • index: 是否保存index,默認為True
      • encoding: 文件編碼格式
      • startrow: 在數據的頭部留出startrow行空行
      • startcol :在數據的左邊留出startcol列空列

      調用方法:

      import tushare as ts
      
      df = ts.get_hist_data('000875')
      #直接保存
      df.to_excel('c:/day/000875.xlsx')
      
      #設定數據位置(從第3行,第6列開始插入數據)
      df.to_excel('c:/day/000875.xlsx', startrow=2,startcol=5)
      

      HDF5文件?

      pandas利用PyTables包將數據保存為HDF5格式的文件。需要確認的是,運行時PyTables包的版本需要 >=3.0.0。

      常用參數說明:

      • path_or_buf: 文件路徑或者HDFStore對象
      • key:HDF5中的group標識
      • mode : 包括 {‘a’追加, ‘w’寫入, ‘r’只讀, ‘r+’等同于a但文件必須已經存在}, 默認是 ‘a’
      • format:‘fixed(f)|table(t)’,默認‘fixed’,f適合快速讀寫,不能追加數據 t適合從文件中查找和選擇數據
      • append: 適用于table(t)模式追加數據,默認Flase
      • complevel: 壓縮級別1-9, 默認0
      • complib: 壓縮類型{‘zlib’, ‘bzip2’, ‘lzo’, ‘blosc’, None}默認None

      調用方法:

      import tushare as ts
      
      df = ts.get_hist_data('000875')
      df.to_hdf('c:/day/hdf.h5','000875')
      

      方法2:

      import tushare as ts
      
      df = ts.get_hist_data('000875')
      store = HDFStore('c:/day/store.h5')
      store['000875'] = df
      store.close()
      

      JSON文件?

      pandas生成Json格式的文件或字符串。

      常用參數說明:

      • path_or_buf: json文件存放路徑
      • orient:json格式順序,包括columns,records,index,split,values,默認為columns
      • force_ascii: 將字符轉ASCII,默認為True

      調用方法:

      import tushare as ts
      
      df = ts.get_hist_data('000875')
      df.to_json('c:/day/000875.json',orient='records')
      
      #或者直接使用
      print df.to_json(orient='records')
      

      MySQL數據庫?

      pandas提供了將數據便捷存入關系型數據庫的方法,在新版的pandas中,主要是已sqlalchemy方式與數據建立連接,支持MySQL、Postgresql、Oracle、MS SQLServer、SQLite等主流數據庫。本例以MySQL數據庫為代表,展示將獲取到的股票數據存入數據庫的方法,其他類型數據庫請參考sqlalchemy官網文檔的create_engine部分。

      常用參數說明:

      • name:表名,pandas會自動創建表結構
      • con:數據庫連接,最好是用sqlalchemy創建engine的方式來替代con
      • flavor:數據庫類型 {‘sqlite’, ‘mysql’}, 默認‘sqlite’,如果是engine此項可忽略
      • schema:指定數據庫的schema,默認即可
      • if_exists:如果表名已存在的處理方式 {‘fail’, ‘replace’, ‘append’},默認‘fail’
      • index:將pandas的Index作為一列存入數據庫,默認是True
      • index_label:Index的列名
      • chunksize:分批存入數據庫,默認是None,即一次性全部寫人數據庫
      • dtype:設定columns在數據庫里的數據類型,默認是None

      調用方法:

      from sqlalchemy import create_engine
      import tushare as ts
      
      df = ts.get_tick_data('600848', date='2014-12-22')
      engine = create_engine('mysql://user:passwd@127.0.0.1/db_name?charset=utf8')
      
      #存入數據庫
      df.to_sql('tick_data',engine)
      
      #追加數據到現有表
      #df.to_sql('tick_data',engine,if_exists='append')
      

      MongoDB?

      pandas目前沒有提供直接存入MongoDB的方法,不過依然很簡單,而且方式很多,用戶可根據自身的業務特點選擇存儲的結構方式。

      使用方法:

      import pymongo
      import json
      
      conn = pymongo.Connection('127.0.0.1', port=27017)
      df = ts.get_tick_data('600848',date='2014-12-22')
      
      conn.db.tickdata.insert(json.loads(df.to_json(orient='records')))
      
      色胡同热国产综合无码,AV天堂 热の中文 热の偷拍,色天天综合网视频网站,色天天综合色天天,色偷偷亚洲男人的天堂,第一色网站 伊人久久大香线蕉五月,伊人久久大香线蕉av五月天,久久人人爽人人爽人人,久久综合九色综合欧美,伊人久久大香线蕉亚洲,yy111111少妇影院无码 国内大学自拍在线偷拍,国产乱对白刺激视频,亚洲国产在线观看在5388,国产人碰人摸人爱免费视频,男女裸交真人全过程,亚洲成AV人片在一线观看 日本高清色视频高清日本电影,亚洲大尺度无码无码专线,国产AV国片精品,亚洲曰本AV在线天堂,日韩~欧美一中文字幕,亚洲大尺度无码 噜噜噜在线av免费观看,丁香五月缴情伊人,97免费人妻在线,日韩一级毛片欧美一级,中文字幕97超碰大杳蕉,伊人久久大香线蕉AV仙人 俄罗斯强奷女人在线播放,野外暴力强奷在线播放,漂亮的人妻洗澡被公强,亚洲AV无码一区二区三区,国产中文三级全黄,日本中文字幕有码在线视频 欧美日本亚洲国产在线观18,亚欧美无遮挡HD高清在线视频,中文专区欧美三级在线,亚洲系列欧美系列第1页,欧美亚洲国产片在线播放
      欧洲女人牲交视频,欧洲美女黑人粗硬暴交了人,牲交视频爽爽,97人人模人人爽人人喊6,日本暴力强奷系列在线观看,一级特黄欧美在线 午夜国产成人久久精品,午夜男女很黄的视频120分,国产初高中生在线视频,国产成人午夜视频观看,国产精品va无码欧美二区 XXX日本视频在线观看,无码裸模视频在线观看,高清国产美女一级α片,强行入侵女人A片,国产乱子伦精品视频,国产又色又爽又黄又刺激视频 亚洲 欧美 国产 综合视频,国产高清视频在线美女观看,人妻无码手机在线中文,人人天天夜夜曰狠狠狠狠,国产乱伦av天天看中文有码 无码免费视频一区二区三区,久久伊人精品青青草原,中文无码日本亚洲色偷偷在线视频,中文有码无码人妻在线,亚洲日本va中文字幕免费视频资源 日韩 无码~中文字幕在线,天天av天天av天天透,三级4级全黄,黄色带三级特黄大片,正在播放刚结婚的少妇,一本乱色,欧美三级全黄 天堂AV旡码AV毛片毛片免费,深夜A级毛片催精视频免费,国产免费AV吧在线观看,色偷偷色偷偷色偷偷在线视频,十八禁啪啦拍视频网站 国语自产精品视频二区在,欲色欲香天天综合和网,伊人色综合久久天天,亚洲色最大色综合网站,亚洲伊人色欲综合网,色欲天天天影视综合网 老司国产精品视频免费看,国产精品日韩在线无码一区,国产a国产片一级故事,日本AⅤ不卡在线观看无限片,国产手机在线ΑⅤ片无码观看 久青草国产在线观看视频,888第米奇四色极速视频,亚洲女初尝黑人巨高清,天天澡天天添天天摸97影院,99久久香蕉国产线看观看