如何防止csv文件名成为python中的工作表名称



我是python的新手,非常感谢您的帮助。我使用Jupyter Notebook将SSMS查询导出到Panda数据帧,然后将数据帧导出到csv。我需要每个月运行这个python脚本,所以我正在寻找以某种格式保存的每月csv文件,即csv文件名+上月名称&年份例如:CSV文件名2022年2月,python脚本将于2022年3月运行。

问题是该CSV文件的工作表名称显示CSV文件名以及月份名称和年份,我希望工作表名称保持为"CSV文件名";Sheet1";并且在运行python脚本时不会每月更改,即当我在2022年4月运行脚本时;Sheet1";

这是我的代码:

import pyodbc 
import pandas as pd
import openpyxl
from datetime import date 
from dateutil.relativedelta import relativedelta
last_month = date.today() - relativedelta(months=1)  
text_date = format(last_month, '%B %Y')
server = 'server_name'
database = 'database_name'
cnxn = pyodbc.connect('DRIVER= {SQL Server};
SERVER=' + server + '; 
DATABASE=' + database + ';
Trusted_Connection = yes;')
sql_query = pd.read_sql_query("""Select * from Table""", cnxn)
df = pd.DataFrame(sql_query)
df.to_csv(r'filepath filename' + str(text_date) + '.csv',  index = False)

请帮我做这件事。非常感谢。

我认为df.to_csv不能提供sheet_name选项,请尝试使用df.to_excel

df.to_excel(文件名,sheet_name="sheet_name",index=False(

最新更新