f = open('00960.csv','r',encoding='utf-8')
import csv #德明科大黃培暟修改11與16列
csv_reader = csv.reader(f)
header, rows = [], [] #宣告空白串列(陣列,清單)
header = next(csv_reader) #串列header存放第一列標題
for row in csv_reader: #逐列讀檔案、附加append於rows串列
rows.append(row)
f.close()
idSet = set()
component = dict()
#zeros = [0 for i in range(21)]
for row in rows:
for j in range(0, 21):
idSet.add(row[j*4])
for id in idSet:
component[id] = [0 for i in range(21)] #取代原來的zeros
for row in rows:
for j in range(0, 21):
if row[j*4+3] != '':
component[row[j*4]][j] = row[j*4 + 3]
print(row[j*4+1],component[row[j*4]])
for id in idSet:
print(id, component[id])
程式碼 import csv #輸入import輸出export,輸入csv套件 import math #輸入math套件 from tkinter import * #或者import tkinter as tk scale = 2000 # 放大倍率 base = 600 # 圖形中心高度 def transposeMatrix(m): #自訂轉置transpose函數 N = [] for j in range(len(m[0])): row = [] for i in range(len(m)): row.append(m[i][j]) N.append(row) return N def getMatrixMinor(m,i,j): return [row[:j] + row[j+1:] for row in (m[:i]+m[i+1:])] def getMatrixDeternminant(m): #base case for 2x2 matrix if len(m) == 2: return m[0][0]*m[1][1]-m[0][1]*m[1][0] determinant = 0 for c in range(len(m)): determinant += ((-1)**c)*m[0][c]*getMatrixDeternminant(getMatrixMinor(m,0,c)) return determinant def getMatrixInverse(m): determinant = getMatrixDeternminant(m) if len(m) == 2: #處理2x2方陣 return [[m[1][1]/determinant, -1*m[0][1]/determinant], [-1*m[1][0]/determinant, m[0][0]/determinan...
留言
張貼留言