2017-02-16 116 views
-1

试图运行下面的代码:语法错误:非关键字xlwings

import xlwings as xw 
from xlwings.constants import SortOrder 
from xlwings.constants import SortOrientation 

def xlwingstest(): 
    wb = xw.Book.caller() 
    wb.app.screen_updating = 'False' 

    xw.Range('A3:B8501').api.Sort(Key1=wb.Sheets('Sheet1').xw.Range('A3'), SortOrder.xlDescending, 
      SortOrientation.xlSortColumns) 

我得到以下错误:

Traceback (most recent call last):

File "", line 1, in

File "xlwings_sort_data1.py", line 16

xw.Range('A3:B8501').api.Sort(Key1=wb.Sheets('Sheet1').xw.Range('A3'), 
           SortOrder.xlDescending, 

SyntaxError: non-keyword arg after keyword arg

我使用Python 2.7。

+0

你知道什么是关键字和非关键字参数?正如错误所说,你不能在后者之后放置前者。 – TigerhawkT3

+0

我不知道什么是关键字和非关键字参数,但是我在看完@ Luca的答案后才知道。 – Rsaha

回答

0

你不能把一个关键字参数例如。在非关键字arg之前的Key1=。从excel documentation,您可以找到Range.Sort方法参数。我想你想做的事:

xw.Range('A3:B8501').api.Sort(Key1=wb.Sheets('Sheet1').xw.Range('A3'), 
Order1=SortOrder.xlDescending, 
Orientation=SortOrientation.xlSortColumns) 
+0

谢谢你的回答。我测试了它,并得到以下错误: 'File“c:\ users \ xlwings_sort_data1.py”,第16行,在xlwingstest中 xw.Range('A3:B8501')。api.Sort(Key1 = wb.Sheets ('Sheet1')。xw.Range('A3'), AttributeError:'Book'对象没有属性'Sheets'' – Rsaha

相关问题