Python教程

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

本文主要是介绍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]

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

这篇关于python如何简单粗暴的遍历文件夹中的子文件夹并读取某特定名称的.csv类型文件的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!