發表文章

陳俊宇程式交易083期末考python運算CSV輸出TKINTER投資風險與報酬Markowitz

圖片
import csv #輸入csv套件comma separated value f = open('200201to202505.csv','r', encoding="utf-8")#打開下載的檔案SPY.CSV,模式是r讀取, csvreader = csv.reader(f) #將檔案讀入變數csvreader header, rows = list(), list() #宣告空白串列(陣列,清單) firms = set() #建構集合 header = next(csvreader) #串列header儲存檔案第一列 for record in csvreader: #檔案紀錄,逐列row檢視 rows.append(record) #第i筆附加append於rows串列成為rows[i] firms.add(record[0]) #row[0]公司名稱 f.close() #關閉檔案 months = dict() for year in range(2007,2026): months[year]=[str(year*100+month) for month in range(1,13)] count, sum, sumSq, mean, stdev = dict(), dict(), dict(), dict(), dict() for firm in firms: for year in range(2007, 2026): t = (firm, year) #元組(公司,年) count[t] = 0 sum[t] = 0.0 sumSq[t] = 0.0 for row in rows: #字典value增加append元素 for firm in firms: if row[0] == fi...

陳俊宇期中考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)))

陳俊宇標普500正三、正二、SPY、負一、負二、負三

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

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

圖片
python程式碼 #陳俊宇python程式碼分析spy: import csv #輸入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() #關閉檔案 Jupyter執行python 嵌入影片 python.org說明csv與DictReader 建立一個物件,其運作上就像一般的讀取器,但可以將每一列資訊 map (對映) 到 dict 中,可以透過選填的參數 fieldnames 設定 key。 參數 fieldnames 是一個 sequence。如果 fieldnames 被省略了,檔案 f 中第一列的值會被當作欄位標題,且於結果中會被省略。如果 fieldname 有提供,它們就會被使用,且第一列會被包含在結果中。不管欄位標題是如何決定的,dictionary 都會保留原始的排序。 如果一列資料中的欄位比欄位標題還多,其餘的資料及以 restkey (預設為 None)特指的欄位標題會放入列表當中並儲存。如果一個非空的 (non-blank) 列中的欄位比欄位標題還少,缺少的值則會填入 restval (預設為 None)的值。 所有其他選填的引數或關鍵字引數皆會傳遞至下層的 reader 實例。 如果傳遞至 fieldnames 的引數是個疊代器,則會被迫成為一個 list。