问题:文件夹中存放相同格式的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的初学者。写此文章只是为巩固所学习的知识所用,不具有适用普遍性,各位读者请知悉!!!
如有问题可以相互探讨,虽然我不一定会回复。