2

我正在使用 web2py 开发一个应用程序,并且我想生成一个 csv 文件,以便将列变为行。

例如:文件生成为:

  name    mobile    email    Address
  yyy     yyyyy      yyy     yyyyy

我希望将文件生成为以下设计:

name      yyy
mobile    yyyy
email     yyyyyy
Address   yyyy

我怎样才能做到这一点?

我使用此代码生成 csv 文件:

import gluon.contenttype
response.headers['Content-Type'] = \
    gluon.contenttype.contenttype('.csv')
response.headers['Content-disposition'] = 'attachment; filename=members_approaching_renewal_report.csv'\   rows=db().select(db.member.membership_id,db.member.first_name,db.member.middle_name,db.member.last_name,db.member.birthdate,db.member.membership_status,db.member.registration_date,db.member.membership_end_date)
rows.colnames=('Membership Id','First Name','Middle Name','Last Name','Birthday Date','Membership Status','Registration Date','Membership ending Date')
return str(rows)

我应该如何编辑这段代码来制作我想要的东西?

4

1 回答 1

6

如果您的结果位于名为 的列表列表中results,并且您的标题标题位于名为 的列表中headers,则可以像这样转置它:

transposed = zip(headers, *results)

然后正常输出,例如:

import csv
csv_writer = csv.writer(filename)
csv_writer.writerows(transposed)
于 2009-10-07T13:06:18.553 回答