看板 Python 關於我們 聯絡資訊
※ 引述《ChenXY (不差不歪 一插就歪)》之銘言: : 小弟是最近在學Python的新手 : 遇到一個問題試好久都想不出來 : 就是如何把csv檔的內容建成物件 : 網路上只有查到一種方法 : 就是先宣告一個空陣列再藉由它加入到目標類別 : 但我後來測試卻也一直行不通 https://codepad.remoteinterview.io/UMHMRTMPAI 像這樣嗎? : 我大致列一下code方便大大修正一下: : class Midterm: : # 先宣告以下3個objects為空 這裡先略過 : def __init__(self, problem, status, subTime): : self.problem = problem : self.status = status : self.subTime = subTime : myList = [] : import csv : midtermFile = "midterm.csv" : fh = open(midtermFile, 'r', newline = '') : reader = csv.reader(fh) : headers = next(reader) : for row in reader: : myList.append(Midterm(int(row[2]), row[3], row[6])) : # 那3個objects資料分別來自此csv檔的第3,4,7個 : print(row) # 這裡測試會出來 : print(Midterm.problem) # 但若改直接測試輸出的物件卻是空白 : # 其實捲軸有在跑並留出一大塊空白 貌似只是沒有顯示出來 : # 但後續切割時間資料時就顯示沒切成功找不到subTime.H : fh.close() : 另外還有個問題 就是我的subTime之後還需要跟別的時間字串比較先後 : 用datetime.strptime轉成時間型態好像無法比大小 datetime obj應該可以比大小 是不是沒轉正確? : 所以我打算用.split(":")切成時、分、秒再用邏輯比較 : 這樣subTime要另外宣告成一個子類別嗎 看你的需求吧 很複雜嗎? : 因為我若不這樣而把它們宣告在Midterm.subTime.H #還有.M、.S : __init__就要強制我在讀取csv時同時起始.H、.M、.S的值了 : 以上兩個問題麻煩大大們給點意見了 謝謝﹗ 不知道有沒有理解你的問題。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.221.35.72 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1526957444.A.4DB.html
ChenXY: 忘了回覆 原來是我搞錯物件的對象了 非常感謝大大的解惑 05/25 18:36