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 に答える