我在这里绞尽脑汁,读了很多教程、网站、示例代码等。有些东西对我来说不太合适。
这是我想要的最终状态。
- 从MSSQL中选择数据-排序,没有问题
- 打开Excel模板(xlsx文件(-已排序,没有问题
- 将数据导出到此Excel模板并用其他名称保存-问题
到目前为止我所取得的成就:(这项工作(
- 我可以从数据库中提取数据
- 我可以使用panda将数据写入Excel,我的代码行是:
pd.read_sql(script,cnxn).to_excel(filename,sheet_name="Sheet1",startrow=19,encoding="utf-8")
- filename变量是我每次运行for循环时创建的一个新文件
我的挑战是:
- 数据需要导出到预定义的模板(模板的格式必须存在于每个文件中(
- 我可以打开文件,也可以写入文件,但我不知道如何在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文件。您可以参考此链接。
我希望这个解决方案能帮助你。周末愉快