Python-pandas with excel

内容摘要:
1 建立3个pf
2 保存到excel
3 从excel中读取数据
4 合并到一个df中
'''
1 建立3个pf
2 保存到excel
3 从excel中读取数据
4 合并到一个df中
'''
import os
import matplotlib.pyplot as plt

import pandas as pd
d={'Channel':[1,2,3],'Number':[253,254,255]}
#创建dataframe
df=pd.DataFrame(d)
print("df:\n",df)
'''
df:
    Channel  Number
0        1     253
1        2     254
2        3     255
'''
#导出DF到excel
df.to_excel(r'D:\PycharmProjects\Asap2Lib_ljs\mypy/dataframetest/test1.xlsx',sheet_name='test1',index=False)
df.to_excel(r'D:\PycharmProjects\Asap2Lib_ljs\mypy\dataframetest\test2.xlsx',sheet_name='test2',index=False)
df.to_excel(r'D:\PycharmProjects\Asap2Lib_ljs\mypy/dataframetest/test3.xlsx',sheet_name='test3',index=False)
print("export to excel done")

#把3个excel文件数据读入一个DataFrame
file_names=[]#存放文件名
#你存放excel文件的路径
os.chdir(r"./dataframetest")

#找到所有文件扩展名是.xlsx的文件
for files in os.listdir("."):
    if files.endswith(".xlsx"):
        file_names.append(files)
print("file_names:\n",file_names)
'''
file_names:
 ['test1.xlsx', 'test2.xlsx', 'test3.xlsx']
'''

#创建一个函数来处理所有的excel文件
def get_file(fnombre):
    #excel文件路径
    location=r'./'+fnombre
    #读入excle文件路径,0=第一个页签
    df=pd.read_excel(location,0)
    #标记一下数据是从哪个文件来的
    df["file"]=fnombre
    #把’file’列作为索引
    return df.set_index(['file'])

#创建一个dataframe的list,将所有读取的dataframe防盗一个list中
df_list=[get_file(fname) for fname in file_names]
print("df_list:\n",df_list)
'''
 [              Channel  Number
file                       
test1.xlsx        1     253
test1.xlsx        2     254
test1.xlsx        3     255,              
                Channel  Number  
file                     
test2.xlsx        1     253
test2.xlsx        2     254
test2.xlsx        3     255,            
                 Channel  Number    
file                  
test3.xlsx        1     253
test3.xlsx        2     254
test3.xlsx        3     255]
'''
#把list中所有的dataframe合并成一个
big_df=pd.concat(df_list)
print("big_df:\n",big_df)
'''
big_df:
             Channel  Number
file                       
test1.xlsx        1     253
test1.xlsx        2     254
test1.xlsx        3     255
test2.xlsx        1     253
test2.xlsx        2     254
test2.xlsx        3     255
test3.xlsx        1     253
test3.xlsx        2     254
test3.xlsx        3     255
'''
big_df['Channel'].plot.bar()
plt.savefig(r"./dataframetest")



参考《pandas官方文档中文版.pdf》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值