返回列表 上一主題 發帖

python 融資融券彙總 (全部)"資料

回復 10# c_c_lai


   
aa.png
2016-9-24 12:52

TOP

回復 11# lpk187
我再試試看 !
(試著先將資料庫移除、在執行)>

TOP

本帖最後由 c_c_lai 於 2016-9-25 10:21 編輯

回復 11# lpk187
重新測試結果:
A0B.png
2016-9-25 10:15

謝謝你!
如果要從資料庫讀取出資料又該如何撰寫,
譬如同步'寫入 pandas 裡? 或是其他方式?

TOP

回復 13# c_c_lai


    在python 中,我也還是在學習,所以知道的甚少
要從資料庫中拿出來,以Pywin32 ADODB的用法和VBA很類似

你可以參考http://wiki.alarmchang.com/index.php?title=Python 裡面有很多例子參考
甚至控制Excel都可以,就要看從資料庫中提取出來後要做什麼(因為我沒玩股票,也不知道這些數據該用什麼?這問題可能要請教各位大大了)

TOP

本帖最後由 koshi0413 於 2016-9-25 14:30 編輯

回復 13# c_c_lai

給您參考  SQLite3 導入 Excel
acc作法應該也差不多

注意!!! 這是一次全導入,所以資料量太大,會很慢
應該可以導入局部,只是小弟尚未用到,還沒深入
  1. Sub SQLite3_to_Excel()
  2. 印像中可以在 "SELECT  *  FROM  " & TableName & " "  加入只提取十行

  3. Dim cn, rs, f, SQLName, TableName, ix%, SheetsName

  4.     SQLName = "C:\Users\Koshi\Documents\Python Scripts\SQLite3\2330.sqlite"
  5.     TableName = "sql表格名稱"
  6.     SheetsName = "Excel工作表名稱"
  7.     ix = 10 '開始於第十行
  8.    
  9.     Sheets(SheetsName).Select
  10.     Set cn = CreateObject("adodb.connection")
  11.         cn.Open ("Driver={SQLite3 ODBC Driver};database=" & SQLName)     '開啟sqlite指定資料庫,路徑與檔案名稱要對
  12.         Set rs = cn.Execute("SELECT  *  FROM  " & TableName & " ")       '寫出SQL查詢語法
  13.             Sheets(SheetsName).Cells.Delete  '清除工作表資料
  14.             For f = 0 To rs.Fields.Count - 1
  15.                 Sheets(SheetsName).Cells(ix, f + 1).Value = rs.Fields(f).Name   '導入欄位名稱
  16.             Next
  17.             Sheets(SheetsName).Cells(ix + 1, 1).CopyFromRecordset (rs)        '導入欄位資料
  18.         cn.Close
  19.     Set rs = Nothing
  20.     Set cn = Nothing
  21. End Sub
複製代碼

TOP

回復  c_c_lai

給您參考  SQLite3 導入 Excel
acc作法應該也差不多

注意!!! 這是一次全導入,所以資 ...
koshi0413 發表於 2016-9-25 14:25


找到了 此代碼為 joey0415 大大寫的
http://forum.twbts.com/viewthread.php?tid=9984

TOP

本帖最後由 lpk187 於 2016-9-25 17:22 編輯

回復 13# c_c_lai


研究了一下   pandas 取出 再導入到CSV 或Excel
  1. import pypyodbc
  2. import pandas as pd

  3. MDB = 'D:\\Python\\融資融券彙總\\twsedata.mdb'
  4. DRV = '{Microsoft Access Driver (*.mdb, *.accdb)}'
  5. con = pypyodbc.connect('DRIVER={};DBQ={}'.format(DRV, MDB))
  6. data = pd.read_sql('select * from 1220', con) # 取出
  7. data.to_excel('1220.xlsx', sheet_name='1220')  #導入到Excel
  8. data.to_csv('1220.csv') #導入到 CSV
  9. data
複製代碼

TOP

回復 17# lpk187
測試結果如下:
A0B.png
2016-9-26 15:41

從多個角度來測試,實在太棒了。
謝謝囉!

TOP

回復 17# lpk187
請教如果換成 15# 樓 koshi0413 所說的 SQLite3
要如何連結?

TOP

回復 19# c_c_lai


   不好意思!沒用過SQLite3,不知怎麼回答你
你可以參考http://www.runoob.com/sqlite/sqlite-python.html
以及https://docs.python.org/3.5/library/sqlite3.html

TOP

        靜思自在 : 欣賞別人就是莊嚴自己。
返回列表 上一主題