發表文章

CSV程式庫

今天的python 程式碼 import csv #輸入csv套件comma separated value file = open('SPY.CSV','r') #打開下載的檔案SPY.CSV,模式是r讀取, csvreader = csv.reader(file) #將檔案讀入變數csvreader header, rows = [], [] #宣告空白串列(陣列,清單) header = next(csvreader) #串列header儲存檔案第一列 for row in csvreader: #檔案接續逐列附加append於rows串列 rows.append(row) file.close() #關閉檔案 header.append('MA20') #appendix附錄,為header串列list新曾元素 header.append('部位') #print('印出前十列') #print(header) for i in range(20): rows[i].append(rows[i][5]) for i in range(21,len(rows)): sum20 = 0.0 #實數=浮點數 for j in range(i-20, i): sum20 += float(rows[j][5]) rows[i].append(sum20/20) for i in range(len(rows)-3,len(rows)): #length的命令len(rows) print('第',i+1,'列',rows[i]) file = open('SPYW.CSV','w',newline='') w = csv.writer(file) #寫入檔案 VScode是IDE(程式)整合開發環境 w.writerow(header) #第5列將檔案欄位名稱列header w.writerows(ro...

python運算CSV輸出TKINTER投資風險與報酬Markowitz

圖片
關鍵程式碼 def draw():#按下按鈕button1執行draw canvas.create_line(0,500,700,500,width=3,fill='black',arrow='last') canvas.create_line(10,600,10,5,width=3,fill='black',arrow='last') for firm in firms: t=(firm, year.get()) x = 10+20*stdev[t]*2*3**0.5 #放大20 y = 500 - 10*mean[t]*12 #放大10 dot=canvas.create_oval(x-5,y-5,x+5,y+5,fill='blue') lab=canvas.create_text(x+10,y,text=firm[4:7],anchor=W,font=('微軟中黑體', 16)) def delete():#按下按鈕button2執行delete canvas.delete('all') years=[x for x in range(2007, 2025)] year=IntVar(tk) year.set(years[0]) label = Label(tk, text="年度",font=('Arial',30,'bold'),).pack(side=LEFT) #距離左側 option1 = OptionMenu(tk, year, *years).pack(side=LEFT) button1 = Button(tk, text="繪圖 ",font=('Arial',30,'bold'), command = draw, bg='black',fg='white').pack(side=LEFT) button2 = Button(tk, text="刪除 ...

期中考python讀取csv檔案

圖片
到「程式交易040」下載檔案,然後拷貝程式碼,貼到spyder,另存新檔案abc.py但一定要和下載的檔案同一目錄。 電腦學過HTML, CSS(控制網頁的樣式style), Javascript, Python import csv#劉任昌python #輸入csv套件comma separated value file = open('SPY.CSV','r') #打開下載的檔案SPY.CSV,模式是r讀取, csvreader = csv.reader(file) #將檔案讀入變數csvreader header, rows = [], [] #宣告空白串列(陣列,清單) header = next(csvreader) #串列header儲存檔案第一列 for row in csvreader: #檔案接續逐列附加append於rows串列 rows.append(row) file.close() #關閉檔案 print(header) print('劉任昌分析資料數目'+str(len(rows))) " style="display: block; padding: 1em 0px; text-align: center;"> 參考的線內css指令 <pre style='border: 3px double blue'> double也可以使用其他實心solid點線dotted虛線dashed

黃俊珵Python字典判斷除息日對照EXCEL向下填滿公式

圖片
EXCEL畫面 日 量 開 高 低 收 率 調 收報 除息? 1993/1/29 1003200 43.96875 43.96875 43.75 43.9375 0 24.53 =IF(G3-I3>0.001,"除息","") 1993/2/1 480500 43.96875 44.25 43.96875 44.25 0.71% 24.7 0.71% =IF(J3="除息",F2*(G3-I3),"") 1993/2/2 201300 44.21875 44.375 44.125 44.34375 0.21% 24.75 0.21% 1993/2/3 529400 44.40625 44.84375 44.375 44.8125 1.06% 25.01 1.06% 1993/2/4 531500 44.96875 45.09375 44.46875 45 0.42% 25.12 0.42% Spyder畫面

黃俊珵偷吃步標普500正三、正二、SPY、負一、負二、負三

圖片
SPXL、SPUU、SPY、SPDN、SDS、SPXU 標普500ETF一天走勢 標普500ETF五年走勢 教學影片070

劉任昌期中考python讀取csv檔案

圖片
電腦學過HTML, CSS(控制網頁的樣式style), Javascript, Python import csv#黃俊珵python #輸入csv套件comma separated value file = open('SPY.CSV','r') #打開下載的檔案SPY.CSV,模式是r讀取, csvreader = csv.reader(file) #將檔案讀入變數csvreader header, rows = [], [] #宣告空白串列(陣列,清單) header = next(csvreader) #串列header儲存檔案第一列 for row in csvreader: #檔案接續逐列附加append於rows串列 rows.append(row) file.close() #關閉檔案 print(header) print('黃俊珵分析資料數目'+str(len(rows))) 參考的線內css指令 <pre style='border: 3px double blue'> double也可以使用其他實心solid點線dotted虛線dashed

黃俊珵python讀取CSV檔案SPDR標普500ETF在1993/1/29至2025/3/20

圖片
#黃俊珵python程式碼分析spy:標準500ETF import csv #輸入套件csv=comma seperated value #輸入csv套件comma separated value file = open('SPY.CSV','r') #打開下載的檔案SPY.CSV,模式是r讀取, csvreader = csv.DictReader(file) #將檔案讀入變數csvreader for row in csvreader: #檔案接續逐列附加append於rows串列 # print(row) print(row['日']+' 當天收盤價 '+row['收']) file.close() #關閉檔案 #上一個作業讀近來放成串列list,直接讀成字典 Jupyter執行python 影片 python.org說明csv與DictReader class csv.DictReader(f, fieldnames=None, restkey=None, restval=None, dialect='excel', *args, **kwds) 建立一個物件,其運作上就像一般的讀取器,但可以將每一列資訊 map (對映) 到 dict 中,可以透過選填的參數 fieldnames 設定 key。 參數 fieldnames 是一個 sequence。如果 fieldnames 被省略了,檔案 f 中第一列的值會被當作欄位標題,且於結果中會被省略。如果 fieldname 有提供,它們就會被使用,且第一列會被包含在結果中。不管欄位標題是如何決定的,dictionary 都會保留原始的排序。 如果一列資料中的欄位比欄位標題還多,其餘的資料及以 restkey (預設為 None)特指的欄位標題會放入列表當中並儲存。如果一個非空的 (non-blank) 列中的欄位比欄位標題還少...