2016-12-10 7 views
0

私は、複数のテーブルを1つのExcelシートに書き込むためのスクリプトを作成しています。私は、タスクを達成するためにPython 2.6とxlsxwriterを使用していますが、テーブルを作成することができず、エラーも表示されません。列名だけがExcelシートに追加されます。テーブルを作成するために使用しているコードは次のとおりですpython xlsxwriterを使用してテーブルを書き込めません

import xlsxwriter 

report = xlsxwriter.Workbook('example_report.xlsx') 
sheet = report.add_worksheet() 

row_count = 0 
column_count = 0 

table_headers = [ 
    {'header': 'Product'}, 
    {'header': 'Quarter 1'}, 
    {'header': 'Quarter 2'}, 
    {'header': 'Quarter 3'}, 
    {'header': 'Quarter 4'}, 
]  

excel_write_data = [ 
    ['Apples', 10000, 5000, 8000, 6000] 

] 

table_row_count = row_count+len(excel_write_data) 
table_column_count = column_count+len(table_headers) 

sheet.add_table(
    row_count, column_count, 
    table_row_count, table_column_count, 
    { 
     'data': excel_write_data, 
     'columns': table_headers 
    } 
) 

workbook.close() 

ありがとうございます!

+0

これはあなたの完全なコードではないので、間違いをしている場所を言うのはかなり難しいです!ちなみに、投稿前にウェブ上の例をチェックしましたか? xlsxwriterを使ってたくさんの例が見つかります。 –

答えて

1

期待どおりに動作するはずです。ここ

import xlsxwriter 

workbook = xlsxwriter.Workbook('tables.xlsx') 
worksheet = workbook.add_worksheet() 

row_count = 0 
column_count = 0 

table_headers = [ 
    {'header': 'Product'}, 
    {'header': 'Quarter 1'}, 
    {'header': 'Quarter 2'}, 
    {'header': 'Quarter 3'}, 
    {'header': 'Quarter 4'}, 
    ] 

excel_write_data = [ 
    ['Apples', 10000, 5000, 8000, 6000], 
] 

table_row_count = row_count + len(excel_write_data) 
table_column_count = column_count + len(table_headers) 

worksheet.add_table(row_count, column_count, 
        table_row_count, table_column_count, 
        {'data': excel_write_data, 
        'columns': table_headers}) 

workbook.close() 

そして、出力されています:ここにあなたのコードが完全にプログラムに追加され

enter image description here

私はあなたがプリントアウトして、あなたが add_table()に供給されている範囲をデバッグする必要があることを言うだろう

+0

ありがとう@jmcnamara、しかし、私は列の数を1減らしたときにしかテーブルを生成できませんでした。 'table_column_count = column_count + len(table_headers)-1'です。なぜそれが起こっているのか教えていただけますか?名前とデータを持たない空の列を持つことができません –

+0

重複するヘッダーに関する偽の警告を避けるには、XlsxWriter(> = 0.94)の最新バージョンをインストールする必要があります。 – jmcnamara

関連する問題