提取文件夹中csv文件中的相关列并整合到一个csv文件中

问题:文件夹中存放相同格式的csv文件,现将所有文件中的某列提取出来,并整合到一个csv文件中

使用场景

一个文件夹中有存储工厂所生产零件的相关参数的csv文件,他们存放同一个文件夹并且格式相同。现在想知道所有零件中的误差情况,生成两列数据,第一列是误差数值,第二列是此种误差出现的次数,按照从大到小排列

部分示例数据

检测项,工装上传值,bms上传值,最小值,最大值,误差,判据,检测结果
单体电压1,3312,3317,/,/,5
单体电压2,3312,3319,/,/,7
单体电压3,3310,3317,/,/,7
单体电压4,3312,3317,/,/,5
单体电压5,3312,3317,/,/,5

对单个文件进行提取(使用pandas第三方库)


import pandas as pd
# 读取csv文件
data = pd.read_csv("123.csv",encoding='gbk')
# # 从csv文件中取出误差值
# data.iloc[[6,7,8,9,10],[5]]
data_wucha = data.loc[6:10,['误差']]
# # 将通道误差值进行统计
data_wucha = data_wucha['误差'].value_counts()
# # 由于索引是误差值,但索引本没有名字,使用index.name 将索引的名字改为误差
data_wucha.index.name='误差'
# # 列名改为出现次数
data_wucha.rename("出现次数",inplace=True)
data_wucha = data_wucha.reset_index()
data_wucha
---------------------------------------------------
# 提取结果
  误差  出现次数
0  5     3
1  7     2

提取整个文件夹中的csv文件

import os
import pandas as pd
# file_PATH =  r"所测试文件夹的路径 "
# save_file =  r"测试所得csv文件的路径"
# 建议放在同一个文件夹
# 用自己的路径代替本代码路径,不然找不到文件
file_PATH = r"E:\python\test "
save_file = r"E:\python\test\测试结果统计.csv"
def All_csv(file_PATH, save_file):
    df_list = []  # 创建新列表用来存储提取出来的列表
    tqdm = os.listdir(file_PATH)  
    for i in range(0, len(tqdm)):  # 遍历文件夹
        files_path = os.path.join(file_PATH, tqdm[i])  # 对应文件夹中的每一份文件
        df = pd.read_csv(files_path, encoding='gbk')  ## 读取CSV文件数据
        data_wucha = df.loc[6:10, ['误差']]
        df_list.append(data_wucha)  # 将选取的数据添加到列表
    df2 = pd.concat(df_list, axis=0)  # 将列表数据按列合并,axis=0表示按行整合
    df2 = df2['误差'].value_counts()
    df2.index.name = '误差'
    df2.rename("出现次数", inplace=True)
    df2 = df2.reset_index()
    save_path = os.path.join(file_PATH, save_file)  # 保存数据的路径
    df2.to_csv(save_path, index=False)  # 输入提取好的数据到新建的csv文件中
if __name__ == "__main__":
    All_csv(file_PATH, save_file)
    

文件夹里有提取的结果文件

在这里插入图片描述
打开csv文件

在这里插入图片描述


这是笔者第一次写CSDN的文章,笔者是python的初学者。写此文章只是为巩固所学习的知识所用,不具有适用普遍性,各位读者请知悉!!!
如有问题可以相互探讨,虽然我不一定会回复。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值