0
我试图创建一个从字典一个CSV创建CSV文件,但我收到的错误:类型错误:参数1必须有一个“写”的方法 - 从字典
in create_csv
writer = csv.writer('userInfo.csv')
TypeError: argument 1 must have a "write" method
代码:
#Create dict file to test
userInfoDict = {'orgID': '17', 'firstName': 'TestFirstName', 'lastName': 'TesLastName',
'emailAddress': '[email protected]', 'phoneNumber': '123-456-7890',
'isoCountryCode': 'US'}
def create_csv(userInfoDict):
import csv
userInfo = open('userInfo.csv', 'wb')
for key in userInfoDict:
if len(userInfoDict['orgID']) == 0:
print('Not a valid user: No orgID')
return None
elif len(userInfoDict['firstName']) == 0:
print('Not a valid user: No First Name')
return None
elif len(userInfoDict['emailAddress']) == 0 or len(userInfoDict['phoneNumber']) == 0:
print('Not a valid user: No Email or Phone')
return None
else:
writer = csv.writer(userInfo, delimiter=',')
for key, value in userInfoDict.items():
writer.writerow([key], [value])
return
create_csv(userInfoDict)
更改代码以匹配更新代码你的修复,它似乎没有任何影响。同样的错误。在create_csv writer = csv.writer('userInfocsv') TypeError:参数1必须有一个“写入”方法 – Eric
当然,open应该发生在循环之前。因为它是每个循环将再次打开文件并覆盖以前的内容。 – Matthias
@Matthias当然,所以没有意义使用语句 –