python - 使用熊猫在excel中创建多个工作表以遍历工作表名称
问题描述
我正在尝试在 excel 中创建多个工作表,在 Python 中使用 pandas 与 xlsxwriter 的集成,基于类别中表示的数据
Categories ="Autoimmune Diseases","Blood","Cancer: Head & Neck","Cancer: Hematological","Cancer: Other","Cardiovascular","Dermatological Treatment","Eyes","Immune Deficiencies","Infectious Diseases","Liver Disease","Neurological","Neurotology","Pain Management","Rare Diseases","Respiratory Diseases","Women's Health"
现在我的代码看起来像:
writer = pd.ExcelWriter(Individualreport, engine='xlsxwriter')
Categories ="Autoimmune Diseases","Blood","Cancer: Head & Neck","Cancer: Hematological","Cancer: Other","Cardiovascular","Dermatological Treatment","Eyes","Immune Deficiencies","Infectious Diseases","Liver Disease","Neurological","Neurotology","Pain Management","Rare Diseases","Respiratory Diseases","Women's Health"
Overview = pd.read_excel(READ,sheet_name='Overview', header=None)
OverviewCols = pd.read_excel(READ, sheet_name='Overview', header=None,nrows=1).values[0]
Overview.columns = OverviewCols
auto = Overview.loc[(Overview['Category']=="Autoimmune Diseases")]
auto.to_excel(writer, sheet_name='Auto', startrow= over_row, startcol=over_col, header=False, index=False)
我必须对所有 17 个类别重复,以使每张表都像:
blood = Overview.loc[(Overview['Category']=="Blood")]
blood.to_excel(writer, sheet_name='Blood', startrow= over_row, startcol=over_col, header=False, index=False)
有没有办法遍历列表以简化代码?我知道这是不对的,但类似:
for i in Categories:
i = Overview.loc[(Overview['Category']==i)]
i.to_excel(writer, sheet_name=i, startrow= over_row, startcol=over_col, header=False, index=False)
解决方案
参考您的代码:
for i in Categories:
i = Overview.loc[(Overview['Category']==i)]
i.to_excel(writer, sheet_name=i, startrow= over_row, startcol=over_col, header=False, index=False)
变量 "Categories" 是一个字符串元组 - 您正在尝试使用字符串 "i" 作为变量,例如:
"Blood" = Overview.loc[(Overview['Category']=="Blood")
这是行不通的。
您是否尝试过使用自由变量名?
for cat in Categories:
test = Overview.loc[(Overview['Category']==cat)]
test.to_excel(writer, sheet_name=cat, startrow=over_row, startcol=over_col, header=False, index=False)
推荐阅读
- php - 根据 woocomerce 中的客户国家代码显示价格
- google-cloud-platform - 优化 Dataproc 集群启动时间
- node.js - 为什么 setInterval 不能用于生产?
- rest - 使用 last.fm API 维护 HTTP 缓存
- java - Arrays asList() accepts instance of class
- python-3.x - how to minimize the massive message delay paho mqtt
- python - Regarding Acuracy is low after Training the new data with old Trained weight file
- batch-file - Why does batch script keep exiting after set /P user prompt?
- node.js - Export Function From Test file and use it in component file?
- sql - 如何连接计算表 - Oracle