2、多csv文件转换为宽表

1、导入包

import numpy as np
import pandas as pd
import os
import csv
successDataPath =  "C:/Users/S/Desktop/不同数据集U_RATIO(BP)/csv/"
csvColumn = ['LOT','WAFER','END_TIME','AD0100_RATIO','PROCESS','STEP','EFFECT','REASON']
for root,dirs,files in os.walk(successDataPath):     #遍历文件夹和文件名
    #print(files)
    for i in files:
        step = i.split('.')[0]                       #split('.')以"."作为分隔符,split('.')[0]表示取第一个
        file=os.path.join(root,i)                    #os.path.join(root,i) :表示把root路径和i路径联立一起
        csv=pd.read_csv(file,encoding='utf8')        #pd.read_csv("csv文件路径"):表示读取csv文件
        
        diff  = list(set(csv.columns) - set(csvColumn))[0]  
        csvAll =  csv.loc[:,['LOT','WAFER','AD0100_RATIO']]   #loc是根据索引来取对应的行,iloc是根据行号开始,从0开始依次加一
        
        newColumn = csv.loc[:,[diff]].drop_duplicates().values.tolist()  #drop_duplicates()去除列的重复项
                                                                          #tolist()作用:将矩阵(matrix)和数组(array)转化为列表。
       
        for i in newColumn:        
            csvAll[step+"_"+str(i[0])] = 0 
        
        for index,column in csv.iterrows():                  #for index,column in csv.iterrows():对DataFrame函数进行遍历              
            csvAll.loc[index,step+'_'+ str(column[diff])]=1
        #print(csvAll)        

知识点:

for root,dirs,files in os.walk(successDataPath):     #遍历文件夹和文件名
 #split('.')以"."作为分隔符,split('.')[0]表示取第一个
 #os.path.join(root,i) :表示把root路径和i路径联立一起
  #pd.read_csv("csv文件路径"):表示读取csv文件
       
 csvAll =  csv.loc[:,['LOT','WAFER','AD0100_RATIO']]   #loc是根据索引来取对应的行,iloc是根据行号开始,从0开始依次加一
        
 newColumn = csv.loc[:,[diff]].drop_duplicates().values.tolist()  #drop_duplicates()去除列的重复项
  #tolist()作用:将矩阵(matrix)和数组(array)转化为列表。
       
#for index,column in csv.iterrows():对DataFrame函数进行遍历              
           

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值