Python-读取文件夹里Excel文件里的数据

场景描述

已知:文件夹路径、Excel文件名、存放数据的Sheet名
目标:读取目标文件夹里目标Excel里面目标Sheet里的数据

思路

方法一:利用Pandas模块

import pandas as pd
import os

#-----获取文件夹中所有的Excel文件名-----#
path ='/Users/Desktop/test.data/'  #输入文件夹路径
for root,dirs,files in os.walk(path):    #files是文件夹里所有的文件名
    for i in range(len(files)):
        if '.xlsx' not in files[i]:      #删除不是Excel格式的文件名
            files[i] = []
        else:
            files[i] = files[i]
files.remove([])
files.sort()                         #文件名排序

#-----获取目标Excel里目标sheet里的表头和数据-----#
file_path = path+files[0]          #获取目标Excel的路径
raw_data = pd.read_excel(file_path, sheet_name = None,header = None) #获取该路径下,Excel里面所有的数据,数据类型是字典,表格名是键,表格里的数据是值
sheet_names = list(raw_data.keys()) #获取所有表格名
target_sheet_data = raw_data[sheet_names[0]] # #获取目标表格的数据
header_name = target_sheet_data.values[0,:] #获取目标表格名的表头名
target_data = target_sheet_data.values[1:len(target_sheet_data),:] #获取目标表格除表头外的数据
print(header_name)
print(target_data)

方法二:利用xlrd模块

import xlrd as xd                                                                      
import numpy as np                                                                     
import os                                                                              
                                                                                       
#-----获取文件夹中所有的Excel文件名-----#                                                          
path ='/Users/Desktop/test.data/'         #输入文件夹路径                                      
for root,dirs,files in os.walk(path):    #files是文件夹里所有的文件名                             
    for i in range(len(files)):                                                        
        if '.xlsx' not in files[i]:      #删除不是Excel格式的文件名                              
            files[i] = []                                                              
        else:                                                                          
            files[i] = files[i]                                                        
files.remove([])                                                                       
files.sort()                         #文件名排序                                            
                                                                                       
#-----获取目标Excel里目标sheet里的表头和数据-----#                                                   
file_path = path+files[0]          #获取目标Excel的路径                                       
data =xd.open_workbook (file_path) #打开路径下的Excel                                        
sheet_names = data.sheet_names()  # 获取目标Ecele里所有工作表名称                                  
target_sheet_data = data.sheet_by_name(sheet_names[0])  #获取目标表格的数据                     
header_name = target_sheet_data .row_values(0) #获取目标表格的表头名                             
target_data = []                                                                       
for i in range(target_sheet_data .nrows-1):                                            
    target_data.append(target_sheet_data .row_values(i+1))  #获取目标表格除表头以外的数据,列表数据       
target_data = np.array(target_data) #转换成数组                                               
print(header_name)                                                                     
print(target_data)                                                                     
  • 6
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Dfreedom.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值