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]
后期根据个人审美,可以进一步处理。