如何从pandas数据帧在Excel中创建数据验证列?

ash*_*pen 2 python dataframe pandas openpyxl

我有一个如下所示的数据框df

SL.No  Invoice     
1       A2345
2       B1624
3       C1234 
Run Code Online (Sandbox Code Playgroud)

我需要Status针对每一行创建另一列,其中包含 ['Approved'、'Rejected'、'Partially Approved'] 等值,以写入 Excel 文件。

如何使用 python 来完成此操作?

Per*_*tch 8

您可以使用“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()
Run Code Online (Sandbox Code Playgroud)

参考文档:xlsxwriter_Dropdown