2016-08-16 35 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) 
相关问题