Python 读取csv后在所有列中找到特定想要的几列,并将其单独存为一个新的csv

    #------------------------------------------------------------------------------------------------
    #读取这两个csv文件,挑选出高信噪比的波段,完成后续操作
    highSigtonoiseBands = ['523','540','572','589','605','621','637','653','670','686','703','719','751','768','784','800']
    #------------------------------------------------------------------------------------------------
    fileList = os.listdir(raw_dir)
    maizeRawFiles = []
    for i in fileList:
        name,suffix = os.path.splitext(i)
        if suffix == '.csv':
            maizeRawFiles.append(i)
        else:
            continue
    
    for i in maizeRawFiles:
        name,suffix = os.path.splitext(i)
        df = pd.DataFrame()
        temp_df = pd.read_csv(os.path.join(raw_dir,i),header = 0)
        #header=0:读入列属性,将原表格的列名称(也就是列属性)作为DataFrame的Column names
        #header=1:不读入列属性,而将表格中的第一行数据作为了DataFrame的Column names,这样将丢失第一行数据
        #header=None:读入列属性,并将列属性作为DataFrame的第一行数据,Column names是自动生成的0,1,2,3,4...
        rowList = list(temp_df.columns)
        for j in rowList:
            if j == 'X':
                df.loc[:,'X'] = temp_df.loc[1:,'X']
            elif j == 'Y':
                df.loc[:,'Y'] = temp_df.loc[1:,'Y']
            elif j == 'Z':
                df.loc[:,'Z'] = temp_df.loc[1:,'Z']
            elif j == 'distance':
                df.loc[:,'distance'] = temp_df.loc[1:,'distance']
            elif j in highSigtonoiseBands:
                df.loc[:,j] = temp_df.loc[1:,j]
            else:
                continue
        df.to_csv(HighSignalToNoiseBands_dir + '\\'+ name + '_HighSigToNoiseBands.csv',index = False)
        del df

版权声明:本文为qq_37970770原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。