python - 将数据框转换为特定的 Excel 工作表格式
问题描述
我有以下带有列标题的数据框:S_NAME、S_ID、TYPE_NAME、TYPE_ID
AD EXTRACT,181,ABSORB,174
AD EXTRACT,181,VOLUME,107
ACD EXTRACT,129,CLAIM,136
ACD EXTRACT,129,COURSE,203
AV EXTRACT,105,BOOK,708
AV EXTRACT,105,PROTEIN,125
每个唯一的 S_NAME 应该在同一个 excel 文件中具有单独的工作表,并且每个工作表都应该具有各自的 S_ID、TYPE_NAME、TYPE_ID,如输出图像中所示。
有人可以帮助如何在 Pandas 中实现这一点。作为初学者,我尝试了 dict 但没有帮助
import pandas as pd
df = pd.read_csv('input.csv', sep=',', names=['S_NAME', 'S_ID', 'TYPE_NAME', 'TYPE_ID'])
df_dict = dict(zip([i for i in df.columns] , [pd.DataFrame(df[i].unique(), columns=[i]) for i in df.columns]))
解决方案
openpyxl
如果需要,安装并尝试:
with pd.ExcelWriter("output.xlsx") as writer:
for name, frame in df.groupby("S_NAME"):
frame.drop("S_NAME", axis=1).to_excel(writer, sheet_name=name, index=False)
推荐阅读
- twitter-bootstrap - Bootstrap - 使内联表单选择更长的时间
- arrays - 从 Ruby 中的数组中删除重复项并对特定索引执行操作
- python - 在 drop 函数中重复数据框名称
- php - Magento 2 矩阵费率结帐问题(未找到使用这种方法的运营商:matrixrate_5334)
- swift - 覆盖子类中的枚举案例
- c# - 如何在 xamarin 表单中实现后台通知?
- android - 应用程序的 PlayStore URL 显示 App 的 PackageName 或其 ApplicationId?
- arrays - 使用角度 6 获取对象数组的百分比
- typescript - 反应导航:如何在打字稿中使用 NavigationStackScreenComponent 类型传递 redux 道具
- java - 我们可以使用多个 UserGroupInformation (ugi) 对象来使用 kerberized hadoop 进行身份验证吗?