如何将CSV数据直接写入Excel文件,无需重新打开文件或新增with-open语句?
需求实现方案
该需求完全可实现,无需额外读写文件操作,借助pandas库即可快速完成,甚至可以跳过写CSV的中间步骤直接输出Excel文件。
方案1:跳过CSV写入步骤,直接从解析好的数据生成Excel
你已经把所有XML内容解析到了ChainMap结构的data变量中,无需走CSV写入/读取流程,直接转成DataFrame写Excel即可,仅需增加1行代码:
首先提前安装依赖库:
pip install pandas openpyxl
在你原有代码解析完data的位置后加这一行即可:
import pandas as pd pd.DataFrame(data.maps[:-1]).to_excel(join(xml_root, "data.xlsx"), index=False)
这种方案下你甚至可以直接删掉原有写CSV的with open代码块,完全不需要生成中间CSV文件。
方案2:保留生成CSV的逻辑,单行完成CSV转Excel
如果你必须保留生成CSV文件的原有逻辑,不需要额外写with open语句,仅需要在原有代码最后加1行即可完成转换:
pd.read_csv(join(xml_root, "data.csv")).to_excel(join(xml_root, "data.xlsx"), index=False)
内容的提问来源于stack exchange,提问作者Al-Andalus
相关产品推荐
相关产品推荐

