It is - easy to dump to csv with something like this (but possibly less ugly!)
for member in context.portal_membership.listMembers():
row = member.getProperty('id')
row = row + ', ' + member.getProperty('email')
if not member.getProperty('login_time').strftime('%Y') == '2000':
row = row + ', ' + member.getProperty('login_time').strftime('%c')
else:
row = row + ', No Login'
if not member.getProperty('last_login_time').strftime('%Y') == '2000':
row = row + ', ' + member.getProperty('last_login_time').strftime('%c')
else:
row = row + ', No Last Login'
row = row + ', ' + member.getProperty('fullname')
print row
return printed