小弟是最近在学Python的新手
遇到一个问题试好久都想不出来
就是如何把csv档的内容建成物件
网络上只有查到一种方法
就是先宣告一个空阵列再借由它加入到目标类别
但我后来测试却也一直行不通
我大致列一下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转成时间型态好像无法比大小
所以我打算用.split(":")切成时、分、秒再用逻辑比较
这样subTime要另外宣告成一个子类别吗
因为我若不这样而把它们宣告在Midterm.subTime.H #还有.M、.S
__init__就要强制我在读取csv时同时起始.H、.M、.S的值了
以上两个问题麻烦大大们给点意见了 谢谢﹗