New Ribbon
Office 2021高效實用範例必修16課(附500分鐘影音教學/範例檔) Excel自學聖經(第二版):從完整入門到職場活用的技巧與實例大全 網路開店×拍賣王:蝦皮來了(第二版) 專家都在用的Google最強實戰:表單、文件、試算、簡報、遠距與線上會議 超人氣 Instagram 視覺行銷力(第二版):小編不敗,經營 IG 品牌人氣王的 120 個秘技! 翻倍效率工作術 - 不會就太可惜的Excel必學函數(第三版) 翻倍效率工作術:詢問度破表的Office最強職人技(加量增訂版) 超人氣FB+IG+LINE社群經營與行銷力:用225招快速聚粉,飆升流量變業績! 翻倍效率工作術:不會就太可惜的Excel必學圖表(第二版) (大數據時代必備的圖表視覺分析術!) Python自學聖經:從程式素人到開發強者的技術與實戰大全! 快快樂樂學威力導演18:影音/MV剪輯活用創意特蒐 Excel+PowerPI大數據視覺圖表設計與分析(第二版) 不會就太可惜的Google超極限應用 Office 2019高效實用範例必修16課 翻倍效率工作術:Excel職場最強急救包 我也要當 YouTuber!百萬粉絲網紅不能說的秘密

 

  python大數據特訓班第二版10.3.3

傅


更新時間:2022/5/28 下午 09:16:27

 

程式碼如同書中內容,但運行後卻開啟了https://www.msn.com/zh-tw/?cobrand=acer17win10.msn.com&ocid=ACERDHP17&pc=ACTE這個網頁,想請教為何如此?
def twodigit(n):
    if(n < 10):
        retstr ='0' + str(n)
    else:
        retstr = str(n)
    return retstr

def convertDate(date):
    str1 = str(date)
    yearstr = str1[:3]
    realyear = str(int(yearstr) + 1911)
    realdate = realyear + str1[4:6] + str1[7:9]
    return realdate

import requests
import json, csv
import pandas as pd
import os
import time
import matplotlib.pyplot as plt
from plotly.graph_objs import Scatter, Layout
from plotly.offline import plot

plt.rcParams['font.sans-serif'] = ['Microsoft JhengHei']
plt.rcParams['axes.unicode_minus'] = False

pd.options.mode.chained_assignment = None #取消顯示pandas資料重設警告

urlbase = 'https://www.twse.com.tw/exchangeReport/STOCK_DAY?response=json&date=2021'
urltail = '01&stockNo=2317&_=1653659486856'
filepath = 'stockyear2021.csv'

if not os.path.isfile(filepath): #如果檔案不存在則建立檔案
    for i in range(1,13):
        url_twse = urlbase + twodigit(i) + urltail
        res = requests.get(url_twse)
        jdata = json.loads(res.text)

        outputfile = open(filepath, 'a', newline='', encoding='utf-8')
        #開啟儲存檔案
        outputwriter = csv.writer(outputfile)
        if i==1:
            outputwriter.writerow(jdata['fields'])
        for dataline in (jdata['data']):
            outputwriter.writerow(dataline)
        time.sleep(0.5)
    outputfile.close()

pdstock = pd.read_csv(filepath, encoding='utf-8')
for i in range(len(pdstock['日期'])): #轉換日期為西元格式
    pdstock['日期'][i] = convertDate(pdstock['日期'][i])

pdstock['日期'] = pd.to_datetime(pdstock['日期'])

data = [
    Scatter(x=pdstock['日期'], y=pdstock['收盤價'], name='收盤價'),
    Scatter(x=pdstock['日期'], y=pdstock['最低價'], name='最低價'),
    Scatter(x=pdstock['日期'], y=pdstock['最高價'], name='最高價')
]

plot({"data": data, "layout": Layout(title='2021年個股統計圖')}, auto_open=True)

文淵閣工作室

文淵閣工作室
更新時間:2022/5/30 上午 10:44:29

 

您好:
感謝您的支持。

我們測試您的程式,您的程式會下載 2021年 1~12 月資料,並儲存在 <stockyear2021.csv>檔,
執行結果是正常的。

至於為何您執會出現開啟 msn台灣的網頁,我們也無法理解。

建議您:

一、在第39 列加入這一列程式,觀察資料下載的過程。
        print(url_twse)

二、先執行<stockyear.py>看看可否在本機顯示圖表,以確定資料是否已成功下載。

三、如果執行 <stockyear_plotly.py> 仍然是開啟 msn台灣的網頁,請移除 plotly 再用管理員身份重新安裝。

傅


更新時間:2022/6/1 下午 03:26:39

 

你好,經過調整發現好像是路徑不同導致,因為我使用Pycharm來寫,草稿檔也是在此路徑中,可以順利開啟圖表。而另外儲存的檔案放在桌面開啟就會開啟msn台灣的網頁,請問是什麼原因造成?

文淵閣工作室

文淵閣工作室
更新時間:2022/6/2 上午 09:52:31

 

我們移除 plotly 重新安裝,最新的版本是 5.8.0,spyder 重新開啟後執行,
的確會出現 msn 的首頁,目前仍不知原因,我們會再關注和研究。

請您以 pip uninstall plotly 移除,再以

pip install plotly==4.11.0 安裝較低的版本




 

 

Re:python大數據特訓班第二版10.3.3

請輸入姓名。

已超出字元數目的最大值。


請輸入電子郵件。

格式無效。


請輸入內容。