2017-04-30 14 views
0

をxlwt。何か案が?は、私はこれを置き換え、自分のコードを改善したい

+1

'for c、h in enumerate(header):sheet.write(0、c、h)'はすでに改善されています。 –

+0

確かに良い改善です!ありがとう!しかし、私は行のコンストラクタやシートのメソッドのように配列をネイティブに書くために関連する何かに関する考えをしていました。 –

+0

このような方法はありません。とにかく、そのような方法から多額のマイレージを得ることはないでしょう。あなたが入力するだけの利便性を探しているなら、あなた自身のユーティリティメソッドを書いてください。 –

答えて

1

Excelはセルを個別にいずれかの方法で保存するため、データを行単位で書き込むことで実際の改善は得られません。これはおそらく、xlwtのために文書化されたそのような方法がない理由です。

あなたが列挙使って、行のカップルがダウンしてコードをカットすることができます

workbook = xlwt.Workbook() 
sheet = workbook.add_sheet("WS") 

header = [u'Nome da estação',u'Altitude',u'Latitude',u'Longitude'] 

for column, heading in enumerate(header): 
    sheet.write(0, column, heading) 

あなた自身が定期的にこの種のものをやって見つけた場合は、小さなユーティリティメソッドを記述します。

def write_header(header, row=0, start_col=0): 
    for column, heading in enumerate(header, start_col): 
     sheet.write(row, column, heading) 

workbook = xlwt.Workbook() 
sheet = workbook.add_sheet("WS") 

write_header([u'Nome da estação',u'Altitude',u'Latitude',u'Longitude']) 

追加パラメータを使用すると、必要なときにスプレッドシートのヘッダーの左上隅を設定できます。デフォルト値はユースケースの99%をカバーする必要があります。

関連する問題