背景:

一般比赛或者本地的表格文件多为.csv文件,这类文件动辄数个G,甚至上百G,并且读取的时间也较慢;因此有必要思考新型的存储文件格式来解决csv文件的问题; 下面也从存储空间和读取时间进行测试;

方式1:.csv 转 .feather

1 安装:

pip install feather -format

2 效果实测

2.1 存储空间

代码

def memory_cost(filePath):for i in filePath:fsize = os.path.getsize(i)fsize = fsize / float(1024 * 1024)if i == './M1/M10.csv':print('csv文件占比大小:'+str(round(fsize, 2))+'MB')else:print('feather文件占比大小:'+str(round(fsize, 2))+'MB')

结论
原始csv文件大小:576MB,转化为feather后大小为79MB,所占存储空间占比高达86%

本地实测:
原始csv文件

本地feather文件

2.2 运行时间与转化前后数据情况

代码

def time_cost(func):def core(*args):start = time()func(*args)end = time()if args == './M1/M10.csv':print('csv文件读取时间为:'+str(end-start)+' S')else:print('feather文件读取时间为:'+str(end-start)+' S')return core@time_cost
def read_data1(data_path1):df1 = pd.read_csv(data_path1)print("csv文件数据情况:",df1.shape)

2.3 结论

  1. 文件转化前后数据行业没有变化,木有影响数据质量;
  2. csv文件读取时间11s,feather文件读取时间为0.6s,读取速度快了近20倍
  3. 文件存储所占空间大小减少了86%

方式2:转化为h5文件

效果一般这里不做介绍了

放弃csv,拥抱feather文件相关推荐

  1. pandas parquet文件读取pyarrow、feather文件保存与读取;requests 或wget下载图片文件

    **pandas读取文件填写绝对路径,相对路径可能出错读不了 安装 fastparquet库,需要安装python-snappy ,一直安装错误,所以使用了pyarrow pip install py ...

  2. C# 读取CSV和EXCEL文件示例

    我们习惯了直接连到数据库上面读取数据表的数据内容: 如果有一天我们需要读取CSV,EXCEL文件的内容的时候,可不可以也像读数据表的方式一样呢?当然可以,使用OleDB ADO.NET是很简单的事情 ...

  3. python中csv模块读写文件

    一.csv模块读文件 1. csv.reader–可迭代对象 通过索引获取文档内容 def csv_read():file = open('./txt/names.csv','r')reader = ...

  4. csv.writer写入文件有多余的空行

    在用csv.writer写入文件的时候发现中间有多余的空行. 最早打开方式只是'w',会出现多余的空行,网上建议使用binary形式'wb'打开可以解决问题: with open('egg2.csv' ...

  5. php导出csv_原生PHP实现导出csv格式Excel文件的方法示例【附源码下载】

    本文实例讲述了原生PHP实现导出csv格式Excel文件的方法.分享给大家供大家参考,具体如下: 效果图 源码分析 index.php require_once "./Export.php& ...

  6. python读取txt、csv以及xml文件

    1.读取txt文件 txt文件是经常需要被操作的文件类型,python提供了以下几种常见的读取txt文件的方式: * read():              读取整个文件 * readline(): ...

  7. pandas使用to_feather函数将dataframe保存为feather文件(需要依赖pyarrow包)提升大文件读取效率、pandas使用read_feather函数读取feather文件

    pandas使用to_feather函数将dataframe保存为feather文件(需要依赖pyarrow包)提升大文件读取效率.pandas使用read_feather函数读取feather文件. ...

  8. csv,tsv,txt文件类型区别

    csv,tsv,txt 文件类型区别 tsv 和 csv 都是文本文件. tsv, 是Tab-separated values的缩写,用制表符(Tab,'\t')作为字段值的分隔符. csv,Comm ...

  9. Postman之CSV或JOSN文件实现数据驱动(参数化)

    目录 一.适用场景 二.接口信息 三.数据驱动实现 3.1.data.文件设置 3.1.1.data.csv文件设置 3.1.2.data.json文件设置 3.3.接口传参设置 3.4.断言设置 四 ...

最新文章

  1. [VC6] 图像文件格式数据查看器
  2. 1024. 科学计数法 (20)
  3. 桌面式高清存储寻求合作
  4. 目录config.php怎么修改域名,config.php · wlphp/基于宝塔面板api给站点新增删除域名接口 - Gitee.com...
  5. Java 编译期与运行期,别傻傻分不清楚!
  6. mysql修改网络服务_MySql-Server 就要修改成允许 Web-Server 进行远程连接. 最后一步 需要使用ALTER USER … ACCOUNT UNLOCK语句进行解锁了:...
  7. CF、FM、DSSM、DeepFM等这些推荐模型的原理以及使用场景是什么?
  8. 「C++: draft」一张图弄懂C++指针(*)和引用()以及深拷贝、浅拷贝
  9. 奶牛的交叉路(jzoj 1756)
  10. 前端学习(2999):vue+element今日头条管理--element导入
  11. 计算机程序的建立命令,数控车床编程指令 编程由一系列的指令组成
  12. 人之间的尊重是相互的_人与人之间真心是互换的尊重是相互的
  13. 使用X-Scan进行漏洞扫描的基本操作演示
  14. js 金额格式化 和 转成人民币大写金额形式
  15. 电脑键盘功能基础知识大全分享
  16. java基于springboot+vue校园车辆管理系统
  17. js中的数组拷贝(浅拷贝,深拷贝)
  18. 旅行时间问题(python)
  19. linux内核配置nfs,【参赛手记】开启Digilent提供的Linux内核的NFS支持
  20. python 【2】h5py模块文件删除某一个键值对

热门文章

  1. 事务开启SpringBoot报错 The bean ‘xxxImpl’ could not be injected as a ‘com.xxx.service.impl.xxxServiceImpl
  2. 高分一号影像处理流程
  3. 博弈论之海盗分金(最严谨)
  4. bi软件用来做什么?
  5. Apex_json应用
  6. php inpo,优化PHP in_array()函数,效率提高50倍
  7. 程序员或IT人应该吃的东西
  8. 计算机动漫与游戏制作职业群,四川省工业贸易学校计算机动漫与游戏制作专业...
  9. DDR3不同型号不同位宽仿真记录
  10. 年后跳槽全过程总结(上)——从面试准备到拿到offer