如何从熊猫数据框在Excel中创建数据验证列?

时间:2020-06-22 12:31:54

标签: python pandas dataframe openpyxl

我有一个像df以下的数据框

SL.No  Invoice     
1       A2345
2       B1624
3       C1234 

我需要针对每一行创建另一列Status,其值应为['Approved','Rejected','Partially Approved'],以写入excel文件。

如何使用python做到这一点?

1 个答案:

答案 0 :(得分:4)

您可以使用“ xlsxwriter”引擎获得所需的内容。请按照以下步骤操作。我假设“发票”在C列中。因此,输出将在D列中。

# Export to xlsx file
df.to_excel("c:/Error/DropDown.xlsx",engine='xlsxwriter') 

#Open it with xlsxwriter
writer = pd.ExcelWriter("c:/Error/DropDown.xlsx", engine='xlsxwriter') 
df.to_excel(writer, sheet_name='Sheet1')

#Assign the workbook and worksheet
workbook  = writer.book
worksheet = writer.sheets['Sheet1']

#Adding the header and Datavalidation list
worksheet.write('D1', 'Status')
worksheet.data_validation('D2', {'validate': 'list',
                                  'source': ['Approved',' Rejected','Partially Approved']})
workbook.close()

要引用的文档:xlsxwriter_Dropdown