csv excel 对比
对比csv excel 处理
目前项目需要上传非常大的excel文件。几百兆到几个G之间。上传的问题还没有解决。但是load到内存也是个问题。excel 一般使用xlrd 包做解析,第一个操作肯定是open_workbook。但是在open_workbook的时候会把整个文件load 到内存,如果多个文件同时在做处理可能会内存溢出,所以存在很大风险。技术上对比csv. 看看两者个差异。
准备工作
一个比较大的excel 文件 66MB。把它转为csv。(excel 另存为)
python 编码以及准备
相关的库 pip intsall
import csv
import psutil
import xlrd
psutil 是为了获取系统内存等一些状况。
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
import xlrd
import psutil
import os
import time
import csv
import pandas as pdG = 1024.0*1024.0*1024.0def now():return time.strftime('%Y-%m-%d-%H:%M:%S', time.localtime(time.time()))def get_G(memory):return round(memory / G, 2)def show_sys_info():info = psutil.virtual_memory()print 'now', now()print u'内存使用:', get_G(psutil.Process(os.getpid()).memory_info().rss)print u'总内存:', get_G(info.total)print u'内存占比:', info.percentprint u'cpu个数:', psutil.cpu_count()def csv_test():print '############## csv info ################ \n\n'show_sys_info()file_name = 'test.csv'csvFile = open(file_name, "r")reader = csv.reader(csvFile)count = 0for item in reader:count += 1print 'count%d' % count# print reader.__dict__print 'file_size:%s MB' % get_FileSize(file_name)show_sys_info()def excel_info():print '############## excel info ################ \n\n'show_sys_info()file_name = 'test.xlsx'print 'file_size:%s MB' % get_FileSize(file_name)xlrd.open_workbook(filename=file_name)show_sys_info()def get_FileSize(filePath):filePath = unicode(filePath,'utf8')fsize = os.path.getsize(filePath)fsize = fsize/float(1024*1024)return round(fsize,2)if __name__ == '__main__':csv_test()excel_info()
结果:
############## csv info ################ now 2019-05-17-13:05:46
内存使用: 0.01
总内存: 16.0
内存占比: 62.5
cpu个数: 8
count309990
file_size:28.9 MB
now 2019-05-17-13:05:46
内存使用: 0.01
总内存: 16.0
内存占比: 62.6
cpu个数: 8
############## excel info ################ now 2019-05-17-13:05:46
内存使用: 0.01
总内存: 16.0
内存占比: 62.6
cpu个数: 8
file_size:66.02 MB
now 2019-05-17-13:07:33
内存使用: 0.47
总内存: 16.0
内存占比: 64.3
cpu个数: 8
分析
相同的文件内容下
方式 | 文件大小 | 加载时间 | 内存使用 |
---|---|---|---|
csv | 28.9M | 1s | 0M |
excel | 66.02M | 100s | 0.46G |
通过以上对比,csv 更适合。
csv excel 对比相关推荐
- python怎么筛选excel数据_python筛选数据excel表格-如何利用python提取两个excel对比后的重复值的信息?...
怎么用python读取excel表格的数据 import xlrd #open the .xls file xlsname="test.xls" book = xlrd.open_ ...
- Python 自动化办公之 Excel 对比工具
作者 | 周萝卜 来源丨萝卜大杂烩 今天我们继续分享真实的自动化办公案例,希望各位 Python 爱好者能够从中得到些许启发,在自己的工作生活中更多的应用 Python,使得工作事半功倍! 需求 由于 ...
- Python自动化办公之Excel对比工具
今天我们继续分享真实的自动化办公案例,希望各位 Python 爱好者能够从中得到些许启发,在自己的工作生活中更多的应用 Python,使得工作事半功倍! 需求 由于工作当中经常需要对比前后两个 Exc ...
- 数据库数据 与 excel 对比。(项目一)
0.python 与 mysql 连接(增删改查) python 与 mysql 连接(增删改查)_Jack_2085的博客-CSDN博客1.查询数据库的某一张表#!/usr/bin/python# ...
- R-数据加载(csv,excel,txt,rdata,spss,stata)
原始数据可以从本地文件,本地数据库和网络上获取.本地文件主要包括:txt文件,csv文件,excel文件,RData文件,xml文件.本地数据库类型包括SQL Server,Access,MySQL, ...
- RationalDMIS 7.1 调用EASL_GET_T_V宏来将公差输出到CSV/EXCEL
RationalDMIS变量数据区内置一个EASL_GET_T_V宏,此宏的功能是将公差计算结果的实际值.理论值.公差带/上下公差.超差值取成变量存储在变量数据区: 操作过程如下: 双击GET_T_V ...
- RationalDMIS 7.1调用EASI_GET_T_V宏来将公差输出到CSV/EXCEL
RationalDMIS变量数据区内置一个EASI_GET_T_V宏,此宏的功能是将公差计算结果的实际值.理论值.公差带/上下公差.超差值取成变量存储在变量数据区: 操作过程如下: 双击GET_T_V ...
- excel对比_质量管理误区:SPC软件与微软Excel的应用对比
微软Excel能够利用已有的数据进行多种图表和表格的制作.虽然在一些小型的SPC项目中,Excel能够完成部分的分析工作,但是对于整体生产过程的质量控制和管理来讲,Excel是无法实现对于品质管理的有 ...
- 【Python7】csv/excel/matplotlib,排序/树遍历,线/进程,文件/xml操作,百度人脸API,aiohttp/hal/restful/curl
文章目录 1.csv 2.excel 3.matplotlib 4.时间复杂度 5.顺序表/链表 6.六种排序 6.1 选择 6.2 插入 6.3 希尔 6.4 冒泡 6.5 快排 6.6 归并 7. ...
- navicat导入CSV/Excel文件
1)创建数据库 2)打开数据库project_1,点击"导入向导",导入类型选择"csv文件". 3)选择CSV文件数据源. 4)选择分隔符 csv文件文本打开 ...
最新文章
- 解决SVN:E210007无法协商认证机制
- 鸿蒙os2.0开发者beta版,鸿蒙 OS 2.0 开发者beta版针对Mate 40系列设备开放
- Stackint stack = new Stackint报错原因
- pythonlambda回调函数_Python中如何借助lambda来给回调函数传参
- Intellij IDEA配置优化--转载
- 深度学习TF—9.循环神经网络RNN及其变体GRU、LSTM
- 设计模式之构造函数模式
- linux 终端翻译,linux下终端使用有道翻译
- 读书笔记之《好好说话》
- android 自动读取短息,Android实现短信验证码自动拦截读取功能
- Redis源码解析(15) 哨兵机制[2] 信息同步与TILT模式
- 钉短信、钉电话收费套餐
- python爬虫王者荣耀高清皮肤大图背景故事通用爬虫
- 单片机方案|口袋秤芯片方案
- 在mysql怎样查询地址和电话_如何使用mysql查询语句从用户手机号中提取纯号码...
- 印象笔记多PC不能同步问题的解决
- Vue基于JSON Schema生成表单和数据校验
- redis缓存失效时间设为多少_Redis有效时间设置及时间过期处理
- 看图四级作文 快速技术的发展计算机,2017年6月四级作文范文:科技发展的影响...
- FC小游戏合集网页版HTML源码