Python处理大数据——csv文件类型的小技巧

当我们遇到一个超大的csv数据文件的时候,双击打开是不现实的。即使打开csv,只能看到104万行的数据,后面都是隐藏的,所以打开也是没有意义的。如果不打开,又无法查看到表的数据结构,就无法进行下一步的工作,比如数据筛选。

一、大数据处理工具

对于超百万行,甚至更大的数据,我推荐以下几种工具:

1、Python:pandas在升级为2.0版本之后,对csv处理速度更快了。以前被人诟病的慢有所改进,可以作为首选。

2、SQL或者Access,SQL可视化好,可以清楚地看到数据结构与内容,速度也非常快,但需要简单学习一下SQL语言。

3、power query,excel自带工具,简单快捷,不需要额外生产力。但用起来处理数据的感觉有些吃力,不如前两个。

二、Python处理大数据技巧

1、读取时不要轻易使用encoding参数

此参数对应两个常用值,gbk、utf-8,对应下面截图中两种格式,如果格式不对会报错误。意思为:'gbk’编解码器无法解码位置2中的字节0xbf:非法的多字节序列。

如果是普通数据量较小的表格,可以直接调用参数,如果表格很大,打不开的情况下,更别说改完格式另存为了,所以尽量先不填此参数(但一般默认都是gbk)

2、异形表头

在没有打开表的情况下,我们无法得知表格是否为真正的二维表格,例如下面这种情况,读取会报错,意思是识别到第七行有21列。

因为当读取到第四行和第五行的时候,会默认只有一列表格,而到第7行的时候,却又变成了21列,故pandas判断这不是一个正常二维数据结构。

为了避免此种情况。要利用读取数据的参数delimiter=“\t”,这样数据就被强制转换成一列了,你就能看到你想要读取的数据在第几列了,再将此参数删掉,再用参数header=2就可以搞定了。

data = pd.read_csv(r"C:\Users\ZWD\Desktop\测试\示例.csv",dtype_backend="pyarrow",``delimiter="\t")

综上所述:完整代码如下

   ``data = pd.read_csv(file,dtype_backend="pyarrow",header=2)``print(data.head(10))

三、内存溢出

当读取特别大的表时,会提示内存溢出的问题,csv格式较少遇到,xlsx格式可能较多,可以使用下面的方法进行尝试。

1. 分块读取文件

我们可以将文件分成多个块,逐块读取,避免加载整个文件。例如:

chunksize = 100000``for df in pd.read_excel(filez,sheet_name=sheet,chunksize=chunksize)``# 对分块进行处理

2. 指定行数范围读取

可以只读取文件的某些行,避免读取不需要的行。例如:

df = pd.read_excel(file,sheet_name=sheet,skiprows=100000,nrows=100000)`  `# 跳过前10万行,读取50万行

3. 选择需要的列读取

通过usecols参数只选择需要的列,避免读取无用的数据列。

df = pd.read_excel(file,sheet_name=sheet,usecols=["col1","col2","col3"])``# 读取想要阿列
---------------------------END---------------------------

题外话

在这里插入图片描述

感兴趣的小伙伴,赠送全套Python学习资料,包含面试题、简历资料等具体看下方。

👉CSDN大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

img
img

二、Python必备开发工具

工具都帮大家整理好了,安装就可直接上手!img

三、最新Python学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

img

四、Python视频合集

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

img

五、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

img

六、面试宝典

在这里插入图片描述

在这里插入图片描述

简历模板在这里插入图片描述

👉CSDN大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)

若有侵权,请联系删除

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值