11月9日
數據庫架構,數據庫設計花的時間有點多,貌似想多了的緣故。
回頭看一下本身的目標,是想經過這個增長對python熟悉程度,提升學習興趣,掌握和了解使用python編程的方法。
而實際上至少目前而言本身仍是不具有直接考慮程序設計的能力的。因此一切以簡單爲主。
那就先根據tushare給的接口,把可以獲取的數據都單獨做爲表進行保存。第一步,獲取基礎表數據吧。
設計表以下:
基礎表用B開頭,行情數據用H開頭,市場信息用m開頭,財務信息須要300以上積分,目前沒有辦法獲取,暫時不取。
這裏就有一個問題,tushare給的信息是默認加了一個序號的,數據庫表設計理論上應該有一個本身的key的,這個在表更新上會不會有問題,後面要注意。
問題集:
存在未解決的問題至(11月10日):
一、python文件操做部分,怎麼讀寫,以及按照本身想要的格式寫入,跳過去了沒有深刻研究,後面要補上。
二、mysql數據庫使用workbench能夠鏈接,使用Navicat Premium沒有辦法鏈接,問題未解決。
三、寫入數據庫時提示告警,字符集不匹配(多是),聽說是bug,但未確認,問題未解決。
四、目前沒有編程的思路和概念,仍是當作交互式操做工具的方式寫代碼,後續要找一些資料來學習。
錯題本:
11月9日
一、
錯誤:
import tushare as suck
pro=suck.pro_api()
df1=suck.pro.query('stock_basic', exchange='', list_status='L', fields='ts_code,symbol,name,area,industry,list_date')
df1.to_csv('basic.csv',sep=',',header=True,index=True)
執行報錯
C:\Users\marses\PycharmProjects\untitled>python suck_sql.py
Traceback (most recent call last):
File "suck_sql.py", line 14, in <module>
df1=suck.pro.query('stock_basic', exchange='', list_status='L', fields='ts_code,symbol,name,area,industry,list_date')
AttributeError: module 'tushare.pro' has no attribute 'query'
錯誤緣由:
前面pro定義指向的是suck.pro_api
然後面應用的時候使用了
suck.pro.query()
由於模塊suck裏面既有pro,也有pro_api
而下面代碼實際目的是使用suck.pro_api.query的方法。若是使用suck.pro.query則指回了原來pro去了。
檢討:抄代碼時要認真查看實際原文是有寫清楚的,看的時候沒注意。
另外本身在寫代碼定義的時候儘可能避開這種容易混淆的變量命名。
二、字符集設置爲utf8的確切格式
# coding=utf-8
或者
# -*- coding: utf-8 -*-
額還有說法是utf8和utf-8是一種編碼格式,
在python 裏都認爲是一種編碼格式utf-8。
肯定下,之後本身寫都用# coding=utf-8