对Python 多线程统计所有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文件的行数方法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
使用python统计文件行数示例分享
复制代码 代码如下: import time def block(file,size=65536): while True: nb = file.read(size) if not nb: break yield nb def getLineCount(filename): with open(filename,"r",encoding="utf-8") as f: return
-
python中csv文件的若干读写方法小结
如下所示: //用普通文本文件方式打开和操作 with open("'file.csv'") as cf: lines=cf.readlines() ...... //用普通文本方式打开,用csv模块操作 import csv with open("file.csv") as cf: lines=csv.reader(cf) for line in lines: print(line) ...... import csv headers=['id','usernam
-
Python利用pandas计算多个CSV文件数据值的实例
功能:扫描当前目录下所有CSV文件并对其中文件进行统计,输出统计值到CSV文件 pip install pandas import pandas as pd import glob,os,sys input_path='./' output_fiel='pandas_union_concat.csv' all_files=glob.glob(os.path.join(input_path,'sales_*')) all_data_frames=[] for file in all_files:
-
python 对多个csv文件分别进行处理的方法
如下所示: import glob import time import csv csvx_list = glob.glob('*.csv') #打开文件夹下全部的CSV文件 print('总共发现%s个CSV文件'% len(csvx_list)) time.sleep(2) print('正在处理............') for i in csvx_list: #i既是正在处理的文件名 csvfile = open(i, encoding='utf-8') csvreader = csv
-
Python3读取UTF-8文件及统计文件行数的方法
本文实例讲述了Python3读取UTF-8文件及统计文件行数的方法.分享给大家供大家参考.具体实现方法如下: ''''' Created on Dec 21, 2012 Python 读取UTF-8文件 统计文件的行数目 @author: liury_lab ''' # -*- coding: utf-8 -*- import codecs # 对较小的文件,最简单的方法是将文件读入一个行列表中, # 然后计算列表的长度即可 count = len(codecs.open('d:/FreakOu
-
对Python 多线程统计所有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 =
-
Python使用Pandas对csv文件进行数据处理的方法
今天接到一个新的任务,要对一个140多M的csv文件进行数据处理,总共有170多万行,尝试了导入本地的MySQL数据库进行查询,结果用Navicat导入直接卡死....估计是XAMPP套装里面全默认配置的MySQL性能不给力,又尝试用R搞一下吧结果发现光加载csv文件就要3分钟左右的时间,相当不给力啊,翻了翻万能的知乎发现了Python下的一个神器包:Pandas(熊猫们?),加载这个140多M的csv文件两秒钟就搞定,后面的分类汇总等操作也都是秒开,太牛逼了!记录一下这次数据处理的过程: 使用
-
Python Pandas批量读取csv文件到dataframe的方法
PYTHON Pandas批量读取csv文件到DATAFRAME 首先使用glob.glob获得文件路径.然后定义一个列表,读取文件后再使用concat合并读取到的数据. #读取数据 import pandas as pd import numpy as np import glob,os path=r'e:\tj\month\fx1806' file=glob.glob(os.path.join(path, "zq*.xls")) print(file) dl= [] for f i
-
Python csv文件的读写操作实例详解
这篇文章主要介绍了Python csv文件的读写操作实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 python内置了csv模块,用它可以方便的操作csv文件. 1.写文件 (1)写文件的方法一 import csv # open 打开文件有多种模式,下面是常见的4种 # r:读数据,默认模式 # w:写数据,如果已有数据则会先清空 # a:向文件末尾追加数据 # x : 写数据,如果文件已存在则失败 # 第2至4种模式如果第一个参数指
-
对python多线程中互斥锁Threading.Lock的简单应用详解
一.线程共享进程资源 每个线程互相独立,相互之间没有任何关系,但是在同一个进程中的资源,线程是共享的,如果不进行资源的合理分配,对数据造成破坏,使得线程运行的结果不可预期.这种现象称为"线程不安全". 实例如下: #-*- coding: utf-8 -*- import threading import time def test_xc(): f = open("test.txt","a") f.write("test_dxc&quo
-
对python修改xml文件的节点值方法详解
这是我的xml文件结构 <?xml version='1.0' encoding='utf-8'?> <annotation> <folder>JPEGImages</folder> <filename>train_2018-05-08_1000.jpg</filename> <path>D:\all_data\2018-05-08\JPEGImages\train_2018-05-08_1000.jpg</path
-
对python for 文件指定行读写操作详解
1.os.mknod("test.txt") #创建空文件 2.fp = open("test.txt",w) #直接打开一个文件,如果文件不存在则创建文件 3.关于open 模式: 详情: w:以写方式打开, a:以追加模式打开 (从 EOF 开始, 必要时创建新文件) r+:以读写模式打开 w+:以读写模式打开 (参见 w ) a+:以读写模式打开 (参见 a ) rb:以二进制读模式打开 wb:以二进制写模式打开 (参见 w ) ab:以二进制追加模式打开 (
-
浅谈python中统计计数的几种方法和Counter详解
1) 使用字典dict() 循环遍历出一个可迭代对象中的元素,如果字典没有该元素,那么就让该元素作为字典的键,并将该键赋值为1,如果存在就将该元素对应的值加1. lists = ['a','a','b',5,6,7,5] count_dict = dict() for item in lists: if item in count_dict: count_dict[item] += 1 else: count_dict[item] = 1 2) 使用defaultdict() defaultdi
-
对python同一个文件夹里面不同.py文件的交叉引用方法详解
比如有两个模块,一个aa.py,一个bb.py 代码如下: aa.py: #encoding:utf-8 import bb a=1 bb.py: #encoding:utf-8 import aa print aa.a 执行bb.py时,不能执行,打印错误 AttributeError: 'module' object has no attribute 'a' 原因: 如果执行bb的话,这时候bb是__main__,不是module,所以会执行到bb的from aa,这个时候python会执行
-
对python 多线程中的守护线程与join的用法详解
多线程:在同一个时间做多件事 守护线程:如果在程序中将子线程设置为守护线程,则该子线程会在主线程结束时自动退出,设置方式为thread.setDaemon(True),要在thread.start()之前设置,默认是false的,也就是主线程结束时,子线程依然在执行. thread.join():在子线程完成运行之前,该子线程的父线程(一般就是主线程)将一直存在,也就是被阻塞 实例: #!/usr/bin/python # encoding: utf-8 import threading fro
随机推荐
- 什么是HTML相关介绍
- Access 执行SQL的方法
- 理解JSON:3分钟课程
- javascript代码规范小结
- php时间计算相关问题小结
- zf框架的数据库追踪器使用示例
- Zend Framework教程之Bootstrap类用法概述
- Docker创建一个mysql容器并保存为本地镜像
- mysql利用group_concat()合并多行数据到一行
- javascript随机显示背景图片的方法
- JS留言功能的简单实现案例(推荐)
- Linux netstat命令详细解析
- 修改SQL-SERVER数据库表结构的SQL命令附sql命令行修改数据库
- iis配置绑定二级域名的问题
- java设计模式之装饰器模式(Decorator)
- js函数模拟显示桌面.scf程序示例
- JS 通过系统时间限定动态添加 select option的实例代码
- 鼠标滑过出现预览的大图提示效果
- iis 7.5 选中站点提示 错误: 无法读取配置文件的解决方法
- JavaEE微框架Spring Boot深入解读