python如何简单粗暴的遍历文件夹中的子文件夹并读取某特定名称的.csv类型文件

python如何简单粗暴的遍历文件夹中的子文件夹并读取某特定名称的.csv类型文件

一言不合上代码:

import pandas as pd 
import os 
import numpy as np 
file_path=r"F:\results"

#存放所有文件名
file_list=[]
#存放所有子文件夹下所对应的文件名
file_dict={}
for iroot,idirs,ifiles in os.walk(file_path):
    if not idirs:
        file_dict[iroot]=ifiles[4]

data_={}
#遍历所有文件,拼接路径
for k,v in file_dict.items():
    content=[]
    file_name=os.path.join(k,v)
    file=pd.read_csv(file_name)
    content=np.array(file)[-2,:]
    p_value=k[15:]
    data_[p_value]=content[2:]

data=pd.DataFrame(data_)
print("data:",data[0:10])

注释:

主要用到os.walk(),
文件结构如图:请添加图片描述
目的是
文件名夹+文件中某csv文件中某行数据。
方法
采用字典键值对的方式。
最后将提取的数据保存在新的文件夹中。(代码不展示了)

结果:

data:           48       48.1       48.2 48.400000000000006 48.50000000000001  \
0  7.477e+12  7.872e+12  7.769e+12           8.64e+12         8.807e+12   
1          0         -0         -0                  0                -0   
2   0.004348   0.004307   0.004339           0.004329          0.004324   
3   0.053576   0.052513   0.051452           0.042071           0.04063   
4   0.030439   0.030152   0.030371           0.030305          0.030271   

  48.60000000000001 48.70000000000001 48.80000000000001 48.90000000000001  \
0         8.863e+12         8.887e+12         9.294e+12         9.448e+12   
1                 0                 0                 0         -0.008542   
2           0.00432          0.004315           0.00431          0.004306   
3          0.040017          0.039425           0.03955          0.034168   
4          0.030238          0.030205          0.030172           0.03014   

  49.100000000000016  ... 95.79999999999949 95.99999999999947  \
0          9.722e+12  ...          7.46e+13         7.566e+13   
1          -0.008391  ...                 0                 0   
2           0.004269  ...          0.003068          0.003062   
3           0.033563  ...          0.025434           0.02606   
4           0.029883  ...          0.027616          0.027558   

  96.19999999999946 96.29999999999946 96.39999999999945 96.59999999999944  \
0         7.527e+13         7.502e+13         7.485e+13         7.376e+13   
1                -0                 0          0.001383          0.001738   
2           0.00306          0.003059          0.003057          0.003055   
3          0.026005          0.028022          0.027663          0.027814   
4          0.027537          0.027527          0.027516          0.027496   

  96.79999999999943 96.99999999999942         97       deal  
0         7.327e+13         7.301e+13  7.301e+13  1.137e+13  
1          0.001482          0.001395   0.001395   0.008647  
2          0.003053          0.003051   0.003051   0.004228  
3          0.029647          0.027902   0.027902   0.034586  
4          0.027475          0.027455   0.027455   0.029599  

[5 rows x 335 columns]

后期根据个人审美,可以进一步处理。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

AppleYRY

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

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

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

打赏作者

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

抵扣说明:

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

余额充值