将数据从 MSSQL 导出到 Excel,'template'使用 Python 使用新名称保存



我在这里绞尽脑汁,读了很多教程、网站、示例代码等。有些东西对我来说不太合适。
这是我想要的最终状态。

  1. 从MSSQL中选择数据-排序,没有问题
  2. 打开Excel模板(xlsx文件(-已排序,没有问题
  3. 将数据导出到此Excel模板并用其他名称保存-问题

到目前为止我所取得的成就:(这项工作(

  1. 我可以从数据库中提取数据
  2. 我可以使用panda将数据写入Excel,我的代码行是:pd.read_sql(script,cnxn).to_excel(filename,sheet_name="Sheet1",startrow=19,encoding="utf-8")
  3. filename变量是我每次运行for循环时创建的一个新文件

我的挑战是:

  1. 数据需要导出到预定义的模板(模板的格式必须存在于每个文件中(
  2. 我可以打开文件,也可以写入文件,但我不知道如何在for循环的每次迭代中用不同的名称保存该文件在for循环中,我使用以下代码:

#这不起作用

pd.read_sql(script,cnxn)
writer = pd.ExcelWriter(SourcePath)  #opens the source document
df.to_excel(writer)
writer.save() #how to I saveas() a different file name?????

非常感谢您的帮助。

您的方法就是工作。问题是,你不需要在从数据库中读取数据后立即将数据写入excel文件。我的建议是先将数据读入不同的数据框架中。

df1 = pd.read_sql(script)
df2 = pd.read_sql(script)
df3 = pd.read_sql(script)

然后,您可以将所有数据帧一起写入一个excel文件。您可以参考此链接。

我希望这个解决方案能帮助你。周末愉快

最新更新