我有一个excel表,我想用XlWings排序。该表有一个标题行。我尝试这样排序:
wb = xw.Book(file)
ws = wb.sheets[sheet]
ws.range(table).api.Sort(ws.range(table).api,SortOrder.xlAscending,)
但是对表格进行排序,以便数据替换标题,标题行最终位于表格的底部。
以下产生相同的结果:
#Setting the range to include only the table data
ws.range("Table1[#Data]").api.Sort(ws.range("Table1[#Data]").api,SortOrder.xlAscending)
#Specifying the range has a header
ws.range(table).api.Sort(Key1=ws.range(table).api,Order1=1,Header="xlYes")
#manually excluding the header row from the range
ws.range('c4:n380').api.Sort(ws.range('c4:n380').api,SortOrder.xlAscending)
我的智慧结束了。最终的表格会非常大,所以我宁愿不把整个事情写入数据框,在那里进行排序并将其重新编写为excel。
答案 0 :(得分:0)
使用这些单线纸我遇到了同样的问题。标题行一直被排序并移到最后一行。这是我在Python中解决此问题的方法(使用VBA ListObjects)。
Id Key Value
1 $Y 100
1 $Z 200