2017-01-03 15 views
3

は、私がデータフレームを取り、xlsxwriterデータフレームの行をヘッダにフォーマットを適用していないxlsxwriter - Pythonのパンダ

を使用して、そのデータフレームからスプレッドシートを作成しようとしています、私はヘッダー行にいくつかの書式設定を行うにしようとしていますが、その行で作業しているように見える書式だけが行の高さのためです。まったく同じ書式設定オプションは、データフレームの他の行でも機能します。

以下のコード..

赤色(高さ)は、ヘッダー行(行2)を除いてすべての行に適用される参照してください - 赤色は、行0と行3の両方に適用されるが、唯一の高さが2

を行に適用されるすべてのヘルプは非常に

import numpy as np 
import pandas as pd 
from pandas.io.data import DataReader 
from pandas import DataFrame 
from IPython import display 

import xlsxwriter 

WorkBookName="test.xlsx" 



df3=pd.read_csv("https://raw.githubusercontent.com/wesm/pydata-book/master/ch08/tips.csv", sep=',') 

writer = pd.ExcelWriter(WorkBookName, engine='xlsxwriter') 
df3.to_excel(writer, sheet_name="sheet",index=False,startrow=2) 


workbook = writer.book 
worksheet = writer.sheets["sheet"] 

worksheet.write(0,0,"text string") 
worksheet.write(0,1,"text string") 
worksheet.write(0,2,"text string") 
worksheet.write(0,3,"text string") 


color_format = workbook.add_format({'color': 'red'}) 
worksheet.set_row(0,50,color_format) 
worksheet.set_row(2,50,color_format) 
worksheet.set_row(3,50,color_format)  


writer.save() 

display.FileLink(WorkBookName) 

答えて

6

あなたが最初のデフォルトのヘッダーの設定をリセットする必要がありますので、ヘッダーの書式設定を変更しようとしているのは理解されるであろう

pd.core.format.header_style = None 

が続いてここ

format = workbook.add_format() 
format.set_align('center') 
format.set_align('vcenter') 

worksheet.set_column('A:C',5, format) 

を必要に応じて書式を適用することは、完全な作業コードが

d=pd.DataFrame({'a':['a','a','b','b'], 
       'b':['a','b','c','d'], 
       'c':[1,2,3,4]}) 
d=d.groupby(['a','b']).sum() 

pd.core.format.header_style = None 

writer = pd.ExcelWriter('pandas_out.xlsx', engine='xlsxwriter') 
workbook = writer.book 
d.to_excel(writer, sheet_name='Sheet1') 

worksheet = writer.sheets['Sheet1'] 

format = workbook.add_format() 
format.set_align('center') 
format.set_align('vcenter') 

worksheet.set_column('A:C',5, format) 
writer.save() 
+0

であるあなたのパンダのバージョンは何ですか? Pandas 0.19.1では 'pd.core.format.header_style'の代わりに' pd.formats.format.header_style' ... – MaxU

+0

はい@MaxU正しいあなたは正しいパンダのバージョンに基づいてこれを使うべきです – Shijo

+0

素晴らしい...ありがとう! –

関連する問題