Hello 大家好,我是一名新来的金融领域打工人,日常分享一些python知识,都是自己在学习生活中遇到的一些问题,分享给大家,希望对大家有一定的帮助!
今天要给大家讲的是pandas导出excel文件,并且使多个DataFrame位于不同的sheet中,下面我们话不多说,直接上代码:
1.连接Wind数据库,获取数据
## 连接Wind接口
import pandas as pd
from WindPy import w
w.start()
这里我们获取两类数据:融资融券交易金额与万得全A成交额:
## 输入要查询的日期区间
start_date = '2013-01-04'
end_date = '2022-06-02'
## 获取融资融券交易金额 单位亿元
data = w.edb("M0075989", start_date, end_date,"Fill=Previous")
df = pd.DataFrame(data=data.Data[0],index=data.Times,columns=['融资融券交易金额'])
df
看看融资融券交易金额的结果:
## 获取万得全A成交额 单位元
data3 = w.wsd("881001.WI", "amt", start_date, end_date, "")
df3 = pd.DataFrame(data=data3.Data[0], index=data3.Times,columns=['万得全A成交额'])
df3 = df3[['万得全A成交额']] / 100000000 #转为亿
df3
看看万得全A成交额的结果:
2.数据导出为excel格式
这里我们通过循环的方式来进行DataFrame的输出,这里我们需要用到ExcelWriter:
result_list = [df, df3]
sheet_name_list = ['融资融券交易金额','万得全A成交额']
writer = pd.ExcelWriter(r'C:\Users\Yu Zhuo\Desktop\数据.xlsx')
for i in range(len(result_list)):
result_list[i]=result_list[i].style.set_properties(**{'text-align': 'center'}) ## 使excel表格中的数据居中对齐
result_list[i].to_excel(writer, sheet_name=sheet_name_list[i])
worksheet = writer.sheets[sheet_name_list[i]]
worksheet.set_column('A:B',16) ## 设置excel表格列宽为16
writer.close()
执行上述命令后,我们就可以看到我的桌面有一个excel文件(我定义的保存路径为桌面):
打开文件看看内容,可以发现我们所需要的两个sheet都在:
好啦,今天的文章就分析到这里啦!