2016-08-16 42 views
1

我想將我的Pandas數據框寫入Excel,並將格式應用於多個單獨列(例如,A和C但不是B)例如:XlsxWriter:set_column(),其中一種格式適用於多個非連續列

writer = pd.ExcelWriter(filepath, engine='xlsxwriter') 
my_format = writer.book.add_format({'num_format': '#'}) 

writer.sheets['Sheet1'].set_column('A:A,C:C', 15, my_format) 

這將導致以下錯誤:

File ".../python2.7/site-packages/xlsxwriter/worksheet.py", line 114, in column_wrapper

cell_1, cell_2 = [col + '1' for col in args[0].split(':')] ValueError: too many values to unpack

它不接受語法'A:A,C:C'。是否可以應用相同的格式,而不必爲每列調用set_column()

回答

1

如果列範圍是不連續的,你將不得不調用set_column()每個範圍:

writer.sheets['Sheet1'].set_column('A:A', 15, my_format) 
writer.sheets['Sheet1'].set_column('C:C', 15, my_format) 

注意,要做到這一點編程,你也可以使用一個數字範圍:

for col in (0, 2): 
    writer.sheets['Sheet1'].set_column(col, col, 15, my_format) 
相關問題