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 来完成此操作?
您可以使用“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