首页 > 解决方案 > 使用 xlsxwriter 锁定少数列的数据类型

问题描述

我想锁定我的数据框中的几列以仅允许数字(无字符)。

我尝试了下面的代码,当我手动输入值时它工作得非常好(意味着它不允许我输入字符)但是当我尝试复制和粘贴字符时,它并没有阻止我这样做。

import pandas as pd


df = pd.DataFrame({'Data1': [10, 20, 30, 20, 15, 30, 45],
                   'Data2': [11, 21, 31, 21, 15, 31, 45]})

writer = pd.ExcelWriter('pandas_filter.xlsx', engine='xlsxwriter', )

df.to_excel(writer, sheet_name='Sheet1', index=False)

workbook  = writer.book
worksheet = writer.sheets['Sheet1']

worksheet.data_validation('A2:B8', {'validate': 'custom',
                                  'value': '=ISNUMBER(A2:A8)'})

writer.save()

标签: python-3.xxlsxwriter

解决方案


推荐阅读