我正在解析病人访问列表(csv文件).为了解决这个问题,我有一组自定义的类:
class Patient:
def __init__(self,Rx,ID):
....
class PtController:
def __init__(self,openCSVFile):
self.dict=DictReader(openCSVFile)
self.currentPt = ''
....
def initNewPt(self,row):
Rx = row['Prescription']
PatientID = row['PatientID']
self.currentPt = Patient(Rx,PatientID)
...
Run Code Online (Sandbox Code Playgroud)
所以,我正在使用csv.DictReader来处理文件; 内置于PtController类中.它会迭代,但要为第一位患者设置值,请执行以下操作:
firstRow = self.dict.next()
self.initNewPt(self,firstRow)
...
Run Code Online (Sandbox Code Playgroud)
错误:
TypeError: initNewPt() takes exactly 2 arguments (3 given)
Run Code Online (Sandbox Code Playgroud)
如果我在调用initNewPt之前打印(firstRow),它会按照预期以字典形式打印行.
使用python2.7,这是我第一次使用对象.思考?