【问题标题】:Function for two strings in one line一行中两个字符串的函数
【发布时间】:2017-05-30 20:56:37
【问题描述】:

我想创建一个有两个参数的用户定义函数。 我尝试过但不起作用的是:

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

我想稍后被这个调用:

make_var_columns("worksheet1", "Sepal_length")

make_var_columns("worksheet2", "Petal_width")

如果这些不是使用函数完成的,我成功地使用了这个:

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

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

【问题讨论】:

  • 试试def make_var_columns(wksheet, element): return wb.get_worksheet_by_name(wksheet).write_row('B6', Iris["{}cm".format(element)]);其中wb 是从xlsxwriter.Workbook(workbook_name) 创建的Workbook 对象。
  • 传递工作表对象而不是工作表的名称可能更简单。如果您不能这样做并且必须传递工作表名称,请按照@Abdou 的建议使用get_worksheet_by_name()

标签: python python-3.x user-defined-functions xlsxwriter


【解决方案1】:

get_worksheet_by_name 已弃用,因此您可以使用 wb[WORKSHEET_NAME_HERE]

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

【讨论】:

  • 作为一种更好的做法,将wb 作为参数传递给函数,而不是访问全局变量。
  • 哪里说get_worksheet_by_name 已弃用?
  • get_worksheet_by_name() 方法已被弃用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多