我正在处理患者数据,将其存储在CSV文件中。每一行都代表一个新的患者,而且有数百个患者。我想要将每个患者作为列表中的一个元素进行访问。例如,我的患者列表的索引0将输出具有以下属性的患者对象:
{ first: 'Zakariah', last: 'Siyaji', age: 21 }
以下是我编写的代码,虽然我无法想象如何在没有手动初始化每个对象的情况下生成多个对象。考虑到有数百名患者,这将是极其不切实际的。
import ASD as asd
class Patient:
mrn = 0
first = ''
last = ''
gender = 0
smoker = 0
bmi = 0
asa = 0
cci = 0
dob = ''
dos = ''
age = 0
def setData(self, mrn, first, last, gender, smoker, bmi, asa, cci, dob, dos, age):
self.mrn = mrn
self.first = first
self.last = last
self.gender = gender
self.smoker = smoker
self.bmi = bmi
self.asa = asa
self.cci = cci
self.dob = dob
self.dos = dos
self.age = age
def showData(self):
print("MRN\t:",self.mrn)
print("First\t:", self.first)
print("Last\t:", self.last)
print("Gender\t:", self.gender)
print("Smoker\t:", self.smoker)
print("BMI\t:",self.bmi)
print("ASA\t:", self.asa)
print("CCI\t:", self.cci)
print("DOB\t:", self.dob)
print("DOS\t:", self.dos)
print("Age\t:", self.age)
def main():
p1 = Patient()
p1.setData(asd.file1['MRN'][0],
asd.file1['First'][0],
asd.file1['Last'][0],
asd.file1['Female'][0],
asd.file1['Smoker'][0],
asd.file1['BMI'][0],
asd.file1['ASA'][0],
asd.file1['CCI'][0],
asd.file1['DOB'][0],
asd.file1['DOS'][0],
asd.file1['Age'][0])
p1.showData()
if __name__ == '__main__':
main()