Python多线程统计CSV文件行数实现方案
本文介绍利用Python threading模块实现多线程并行统计指定文件夹下所有CSV文件行数的方法。通过自定义线程类封装文件读取逻辑,结合os模块遍历目录,最终汇总各文件行数。该方法适用于需要快速处理大量CSV文件的场景,代码包含完整的类定义、线程启动及结果收集过程。
具体实现代码如下所示:
#统计某文件夹下的所有csv文件的行数(多线程) import threading import csv import os class MyThreadLine(threading.Thread): #用于统计csv文件的行数的线程类 def __init__(self,path): threading.Thread.__init__(self) #父类初始化 self.path=path #路径 self.line=-1 #统计行数 def run(self): reader = csv.reader(open(self.path, "r")) # 读取csv文件 lines=0 for item in reader: # 读取每一行 lines+=1 self.line=lines #保存行数 print(self.getName(),self.line) path="C:\\Users\\aa\\csv" #所有csv文件所在的文件夹 filelist=os.listdir(path) #存储了所有的csv文件名 threadlist=[] #线程列表 for filename in filelist: newpath=path+"\\"+filename #代表绝对路径 mythd=MyThreadLine( newpath) #创建线程类对象 mythd.start() #线程开始干活 threadlist.append(mythd) #增加线程到线程列表 for mythd in threadlist: #遍历每一个线程 mythd.join() #等待所有线程干完活,再继续执行以下代码 linelist=[] #csv文件行数列表 for mythd in threadlist: linelist.append(mythd.line) print(linelist)
以上就是利用Python多线程统计所有CSV文件行数的完整实现方案。希望这段代码能为读者提供有效的参考,同时也欢迎持续关注本站以获取更多技术分享。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













