Блокировка типов данных нескольких столбцов с помощью xlsxwriter - PullRequest
2 голосов
/ 22 апреля 2019

Я хочу заблокировать несколько столбцов в моем фрейме данных, чтобы разрешить только цифры (без символов).

Я попробовал приведенный ниже код, и он прекрасно работает, когда я вручную ввожу значения (это означает, что он не позволяет вводить символы), но когда я пытаюсь скопировать и вставить символ, это не мешает мне сделать это .

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()
...