XlsxWriter: set_column() 对多个非连续列采用一种格式
XlsxWriter: set_column() with one format for multiple non-continuous columns
我想将我的 Pandas 数据帧写入 Excel 并使用单行将一种格式应用于多个单独的列(例如,A 和 C 但不是 B):
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()
的情况下应用相同的格式吗?
如果列范围不连续,则必须为每个范围调用 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)
或者您可以像这样引用列:
for col in ('X', 'Z'):
writer.sheets['Sheet1'].set_column(col+':'+col, None, my_format)
我想将我的 Pandas 数据帧写入 Excel 并使用单行将一种格式应用于多个单独的列(例如,A 和 C 但不是 B):
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()
的情况下应用相同的格式吗?
如果列范围不连续,则必须为每个范围调用 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)
或者您可以像这样引用列:
for col in ('X', 'Z'):
writer.sheets['Sheet1'].set_column(col+':'+col, None, my_format)