python – 获取CSV的长度以显示进度
发布时间:2020-12-20 11:53:44 所属栏目:Python 来源:网络整理
导读:我正在处理大量CSV文件,每个文件都包含大量行.我的目标是逐行获取数据并使用 Python将其写入数据库.但是,由于存在大量数据,我希望能够跟踪已写入的数据量.为此,我计算了排队的文件数量,并在每次文件完成时继续添加一个文件. 我想为CSV文件做类似的事情并显示
我正在处理大量CSV文件,每个文件都包含大量行.我的目标是逐行获取数据并使用
Python将其写入数据库.但是,由于存在大量数据,我希望能够跟踪已写入的数据量.为此,我计算了排队的文件数量,并在每次文件完成时继续添加一个文件.
我想为CSV文件做类似的事情并显示我在哪一行,以及总共有多少行(例如:当前在X的第1行).我可以通过从一开始然后执行类似的操作轻松地获得当前行:currentRow = 1,但是我不确定如何通过读取行??的耗时过程来获得总数. 另外,因为我的CSV文件都存储在zip存档中,我目前正在使用ZipFile模块读取它们,如下所示: #The Zip archive and the csv files share the same name with zipArchive.open(fileName[:-4] + '.csv','r') as csvFile: lines = (line.decode('ascii') for line in csvFile) currentRow = 1 for row in csv.reader(lines): print(row) currentRow += 1 有关如何快速获取CSV文件总行数的任何想法? 解决方法
如果您只想显示一些进度,可以尝试使用
tqdm.
from tqdm import tqdm with zipArchive.open(fileName[:-4] + '.csv','r') as csvFile: lines = [line.decode('ascii') for line in csvFile] currentRow = 1 for row in tqdm(csv.reader(lines),total=len(lines)): print(row) currentRow += 1 这应该给你一个光滑的进度条,你几乎没有任何努力. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |