#导入库函数
import os
import pandas as pd
#定义文件,用os来获取文件夹内容
filePath = "C:/Users/yong/Desktop/文件/"Path = os.listdir(filePath)
#创建列表接收文件夹下面的csv名字以及数据
csv_all = []
data_all = []
#先获取文件里的csv文件名
for i in range(len(Path)):
csv_all.append(os.listdir(filePath + Path[i]))
#遍历读取每个文件
for i in range(len(Path)):
for j in range(len(csv_all[i])):
df = pd.read_csv(filePath+Path[i]+"/"+csv_all[i][j], index_col=0)
count = 0
#统计dataname出现次数,因为只记一次
for k in df.index:
if k == "DataName":
count += 1
#数据处理
for k in range(int(len(df[df.columns[0]]["DataValue"])/count)):
sp = Path[i].split("_")
sp0 = csv_all[i][j].split(".")[0].split(";")
#判断dataname重复几次
if count > 1:
dataname =df[df.columns[0]]["DataName"][0]
else:
dataname = df[df.columns[0]]["DataName"]
#判断时间是否是PM,如果是转换为时+12
if sp0[1].split(" ")[3]=="PM]":
h_m_s = str(int(sp1[0])+12)+":"+sp1[1]+":"+sp1[2]
else:
h_m_s = sp0[1].split(" ")[2].replace("_", ":")
#数据分离组合
sp1 = sp0[1].split(" ")[2].split("_")
y_m_d = sp0[1].split(" ")[1].replace("_", "-")
#数据保存到data_all里面
data_all.append([Path[i], csv_all[i][j], dataname,
df[df.columns[0]]["DataValue"][k], sp[0], sp[1], sp[2], sp[3], sp[4], sp[5], sp[6],
y_m_d+" "+h_m_s, sp0[0].split("[")[0],
sp0[0].split("[")[1].split("-")[0],
sp0[0].split("[")[1].split("-")[1].split("(")[0],
df[df.columns[1]]["DataValue"][k]])
#数据保存
columns = ["PATH", "FILE_NAME", "DATANAME", "DATAVALUE", "PROJECT_TYPE", "PRODUCT", "PRODUCT_VERSION", "LOT", "TEST_ITEM", "TEST_NODE", "FACTORY", "DEVICES_TIME", "TEST_NAME", "WAFER_ID", "TEST_PIPELINE", "LINE_NO"]
df = pd.DataFrame(data_all, columns=columns)
df.to_csv("C:/Users/yong/Desktop/结果1.csv")
数据处理
最新推荐文章于 2022-08-01 22:04:06 发布