蔡欣辰VS Code編輯csv檔案append新欄位encoding=utf8
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') #第7欄,為header串列list新曾元素
header.append('部位') #第8欄
header.append('最大') #第9欄
header.append('獲利') #第10欄
header.append('最小') #第11欄
header.append('損失') #第12欄
for i in range(20):
rows[i].append(rows[i][5])
for i in range(20,len(rows)):
sum20 = 0.0 #實數=浮點數
for j in range(i-20, i):
sum20 += float(rows[j][5])
rows[i].append(sum20/20) #第7欄20日平均
rows[i].append(0) #第8欄預設部位0
listx = [y/1000 for y in range (31)] #測試31個突破點0, 0.1%...3%
print('測試用的參數\n',listx)
file = open('SPYW.CSV','w',newline='',encoding='utf-8')
w = csv.writer(file) #寫入檔案 VScode是IDE(程式)整合開發環境
w.writerow(header) #第5列將檔案欄位名稱列header
w.writerows(rows) #第7列將檔案內容名稱rows
file.close()
留言
張貼留言