Python XlsxWriter – 数据验证

Python XlsxWriter – 数据验证

Excel中的 数据验证 功能允许你控制用户可以在一个单元格中输入什么。你可以用它来确保单元格中的值是指定范围内的数字/日期,是具有规定长度的文本,或者提供一个下拉菜单来选择该值。

数据验证工具可以在数据菜单中找到。第一个标签允许你设置一个验证标准。下图显示,该标准要求单元格应包含1至25之间的整数。

Python XlsxWriter - 数据验证

在第二个选项卡中,设置当用户的光标在所需单元格上时要闪烁的信息,在本例中是 “输入1到25之间的任何整数”。你还可以设置信息的标题;在本例中,它是Age。

Python XlsxWriter - 数据验证

第三个标签允许你定义任何你想在验证标准失败时闪现的错误信息。

Python XlsxWriter - 数据验证

当用户将光标放在I10(已设置验证)时,你可以看到输入信息。

Python XlsxWriter - 数据验证

当输入的数字不在范围内时,错误信息将闪烁。

Python XlsxWriter - 数据验证

使用XlsxWriter的数据验证工作

你可以通过 data_validation() 方法以编程方式设置验证标准、输入和错误信息。

worksheet.data_validation(
   'I10',
   {
      'validate': 'integer','criteria': 'between',
      'minimum': 1,'maximum': 25,
      'input_title': 'Enter an integer:',
      'input_message': 'between 1 and 25',
      'error_title': 'Input value is not valid!',
      'error_message': 'It  should be an integer between 1 and 25'
   }
)

data_validation() 方法接受options参数为一个字典,有以下参数:

  • validate – 它用于设置你希望验证的数据类型。允许的值是整数、小数、列表、日期、时间、长度等。

  • criteria – 它用于设置验证的标准。它可以被设置为任何逻辑运算符,包括 between / not between , == , != , **< **, **> **, **< = **, **> = **等。

  • value – 设置标准所适用的限制值。它总是必需的。当使用列表验证时,它是以逗号分隔的变量字符串形式给出。

  • input_title – 当光标放在目标单元格中时,用于设置输入信息的标题。

  • input_message – 当一个单元格被输入时显示的信息。

  • error_title – 当不符合验证条件时,要显示的错误信息的标题。

  • error_message – 设置错误信息。默认的错误信息是 “你输入的值是无效的。一个用户限制了可以输入到单元格的值。”

例子

以下是 data_validation() 方法的用法,其结果是数据验证功能的行为如上图所示。

import xlsxwriter

wb = xlsxwriter.Workbook('hello.xlsx')
worksheet = wb.add_worksheet()

worksheet.data_validation(
   'I10',
   {
      'validate': 'integer','criteria': 'between',
      'minimum': 1,'maximum': 25,
      'input_title': 'Enter an integer:',
      'input_message': 'between 1 and 25',
      'error_title': 'Input value is not valid!',
      'error_message':'It should be an integer between 1 and 25'
   }
)
wb.close()

再比如,单元格I10被设置为验证标准,以迫使用户从一个下拉字符串列表中选择其值。

worksheet.data_validation(
   'I10',
   {
      'validate': 'list',
      'source': ['Mumbai', 'Delhi', 'Chennai', 'Kolkata'],
      'input_title': 'Choose one:',
      'input_message': 'Select a value from th list',
   }
)

例子

用下拉列表进行验证的修改后的程序如下

import xlsxwriter

wb = xlsxwriter.Workbook('hello.xlsx')
worksheet = wb.add_worksheet()

worksheet.data_validation(
   'I10',
   {
      'validate': 'list',
      'source': ['Mumbai', 'Delhi', 'Chennai', 'Kolkata'],
      'input_title': 'Choose one:',
      'input_message': 'Select a value from the list',
   }
)
wb.close()

输出

当光标放在I10单元格时,出现了下拉列表 –

Python XlsxWriter - 数据验证

例子

如果你想让用户输入一个长度大于5的字符串,使用 **> = **作为标准,值设置为5。

import xlsxwriter

wb = xlsxwriter.Workbook('hello.xlsx')
worksheet = wb.add_worksheet()

worksheet.data_validation(
   'I10',{
      'validate': 'length',
      'criteria': '>=','value': 5,'input_title': 'Enter name:',
      'input_message': 'Minimum length 5 character',
      'error_message':'Name should have at least 5 characters'
   }
)

wb.close()

输出

如果字符串少于5个字符,则弹出错误信息,如下所示

Python XlsxWriter - 数据验证

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程