2017-02-16 7 views
-1

Bei dem Versuch, den folgenden Code auszuführen:Syntaxerror: Nicht-Schlüsselwort 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) 

ich die folgende Fehlermeldung erhalten:

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

ich verwende Python 2.7.

+0

Wissen Sie, welche Schlüsselwort und Nicht-Schlüsselwort Argumente sind? Wie der Fehler sagt, können Sie die erstere nicht nach der letzteren setzen. – TigerhawkT3

+0

Ich weiß nicht, welche Schlüsselwort und Nicht-Schlüsselwort-Argumente sind, aber ich weiß nach @ Lucas Antwort zu sehen. – Rsaha

Antwort

0

Sie können kein Schlüsselwort arg z. Key1= vor einem Nicht-Schlüsselwort arg. Von der excel documentation finden Sie die Range.Sort Methodenargumente. Ich denke, Sie möchten:

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

Vielen Dank für Ihre Antwort. Ich habe es ausprobiert und folgende Fehlermeldung erhalten: 'Datei" c: \ users \ xlwings_sort_data1.py ", Zeile 16, in xlwingstest xww.Range ('A3: B8501'). Api.Sort (Key1 = wb.Sheets ('Sheet1'). Xw.Range ('A3'), AttributeError: 'Buch' Objekt hat kein Attribut 'Blätter' – Rsaha