2017-01-16 4 views
3

Ich möchte eine benutzerdefinierte Funktion mit zwei Parametern erstellen. , was ich habe versucht, das nicht ist dies funktioniert:Funktion für zwei Strings in einer Zeile

def make_var_columns (wksheet, element): 
    + wksheet +.write_row('B6', Iris[''+ element +'cm']) 

Was ich möchte später durch diese aufgerufen werden:

make_var_columns("worksheet1", "Sepal_length")

und

make_var_columns("worksheet2", "Petal_width") 

Wenn diese wurden nicht mit Funktionen gemacht, die ich erfolgreich benutze:

worksheet1.write_row('B6', Iris['Sepal_lengthcm'])

und

worksheet2.write_row('B6', Iris['Petal_widthcm'])

+1

Versuchen 'def make_var_columns (wksheet, Element): return wb.get_worksheet_by_name (wksheet) .write_row ('B6', Iris ["{} cm" .format (Element)]) ''; wo 'wb' das 'Arbeitsmappen'-Objekt ist, das aus' xlsxwriter.Workbook (workbook_name) 'erstellt wurde. – Abdou

+2

Es könnte einfacher sein, das Arbeitsblattobjekt als den Namen des Arbeitsblatts zu übergeben. Wenn Sie das nicht tun können und den Blattnamen übergeben müssen, verwenden Sie 'get_worksheet_by_name()' wie von @Abdou vorgeschlagen. – jmcnamara

Antwort

0

get_worksheet_by_name ist veraltet, so können Sie verwenden wb [WORKSHEET_NAME_HERE]

def make_var_columns(wksheet, element): 
    return wb[wksheet].write_row('B6', Iris["{}cm".format(element)]) 
+0

als eine bessere Praxis, übergeben Sie "wb" als Parameter für die Funktion statt auf die globale Variable zuzugreifen. –

+0

Wo heißt es, dass "get_worksheet_by_name" veraltet ist? – Abdou

+1

Die Methode 'get_worksheet_by_name()' ist ** nicht ** veraltet. – jmcnamara

Verwandte Themen