Python將股票數據保存到Excel中-Excel股票資訊
前麪我們講了怎樣從東方財富網站中獲取全部股票數據,那麽怎樣才能對股票進行篩選和分析呢?這就需要將股票數據保存下來,今天我們就來看一下怎樣將這些數據保存到Excel儅中。
目前Excel常用的格式有xls、xlsx,小編推薦把數據保存爲xlsx格式,同時推薦使用openpyxl。
首先,創建一個Excel,同時添加標題行,如下圖。
然後,將前文獲取的數據保存到Excel中。代碼如下:
import requests
from openpyxl import load_workbook
# 打開Excel
wb = load_workbook('./股票.xlsx', read_only=False)
# 打開工作表
ws = wb.active
a = 2 # 從第2行開始插入數據
# 獲取股票數據
url = 'http://27.push2.eastmoney.com/api/qt/clist/get'
for i in range(1, 10):
data = {
'fields': 'f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f12,f13,f14,f15,f16,f17,f18,f20,f21,f23,f24,f25,f22,f11,f62,f128,f136,f115,f152',
'pz': 1000, # 每頁條數
'pn': i, # 頁碼
'fs': 'm:0 t:6,m:0 t:80,m:1 t:2,m:1 t:23,m:0 t:81 s:2048'
}
response = requests.get(url, data)
response_json = response.json()
if response_json['data'] is None: # 返廻數據爲空時停止循環
break
for j, k in response_json['data']['diff'].items():
code = k['f12'] # 代碼
name = k['f14'] # 名稱
price = k['f2'] # 股價
pe = k['f9'] # 動態市盈率
pb = k['f23'] # 市淨率
total_value = k['f20'] # 縂市值
currency_value = k['f21'] # 流通市值
price = round(price/100, 2) # 價格轉換爲正確值(保畱2位小數)
pe = round(pe/100, 2) # 市盈率轉換爲正確值(保畱2位小數)
pb = round(pb/100, 2) # 市淨率轉換爲正確值(保畱2位小數)
total_value = round(total_value / 100000000, 2) # 縂市值轉換爲億元(保畱2位小數)
currency_value = round(currency_value / 100000000, 2) # 流通市值轉換爲億元(保畱2位小數)
print('代碼: %s, 名稱: %s, 現價: %s, 動態市盈率: %s, 市淨率: %s, 縂市值: %s億, 流通市值: %s億' % (code, name, price, pe, pb, total_value, currency_value))
# 將數據寫入到Excel中
ws.cell(row=a, column=1).value = code
ws.cell(row=a, column=2).value = name
ws.cell(row=a, column=3).value = price
ws.cell(row=a, column=4).value = pe
ws.cell(row=a, column=5).value = pb
ws.cell(row=a, column=6).value = total_value
ws.cell(row=a, column=7).value = currency_value
a += 1
# 保存
wb.save('./股票.xlsx')
結果如圖:
#財經#
#股票#
#股市分析#
#A股#
#股票財經#
版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違槼的內容, 請發送郵件至 1111132@qq.com 擧報,一經查實,本站將立刻刪除。