New Ribbon
用Canva設計超快超質感(第2版):商業設計、簡報、影片、網頁、電子書與AI應用最速技 AI繪圖工具 × AI視覺設計平台,從圖像生成到專業設計! 最強職場助攻!ChatGPT + AI 高效工作術 短影音制霸:打造TikTok、YT Shorts、IG Reels成功方程式與AI高效創作力 Canva+AI創意設計與品牌應用250招:從商業技巧、社群祕技到AI圖文影音特效 快快樂樂學威力導演2024.影音剪輯與AI精彩創作 Power Automate自動化超效率工作術 Midjourney AI圖像魔導書:搭配ChatGPT魔法加倍 超人氣FB+IG+LINE社群經營與行銷力(第二版) 翻倍效率工作術:不會就太可惜的 Excel × ChatGPT 自動化應用 AppInventor2零基礎入門班中文版(第六版) Python零基礎入門班(第四版) C語言學習聖經 用Canva設計超快超質感:平面、網頁、電子書、簡報、影片製作與AI繪圖最速技 PHP8/MySQL網頁程式設計自學聖經 翻倍效率工作術 - 不會就太可惜的Power BI大數據視覺圖表設計與分析(第三版) 社群經營一定要會的影音剪輯與動畫製作術 Notion高效管理250招:筆記×資料庫×團隊協作,數位生活與工作最佳幫手 Office 2021高效實用範例必修16課(附500分鐘影音教學/範例檔) Excel自學聖經(第二版):從完整入門到職場活用的技巧與實例大全

 

  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

請輸入姓名。

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


請輸入電子郵件。

格式無效。


請輸入內容。