python csv文件数据写入和读取(适用于超大数据量)

python csv文件数据写入和读取(适用于超大数据量)文章目录pythoncsv文件数据写入和读取(适用于超大数据量)pythoncsv文件数据写入和读取(适用于超大数据量)一般情况下由于我们使用的数据量比较小,因此可以将数据一次性整体读入或者写入,而且可以一次性对数据进行加工和处理。但是当数据量比较大,比如有5G的数据量,这个时候想要一次性对所有数据进行操作就比较困难了。所以需要逐条将数据进行处理。importcsv#在最开始创…

大家好,又见面了,我是你们的朋友全栈君。

python csv文件数据写入和读取(适用于超大数据量)

一般情况下由于我们使用的数据量比较小,因此可以将数据一次性整体读入或者写入,而且可以一次性对数据进行加工和处理。

但是当数据量比较大,比如有5G的数据量,这个时候想要一次性对所有数据进行操作就比较困难了。所以需要逐条将数据进行处理。

import csv

# 在最开始创建csv文件,并写入列名。相当于做一些准备工作
with open(savepath, 'w') as csvfile:         #以写入模式打开csv文件,如果没有csv文件会自动创建。
    writer = csv.writer(csvfile)
    # writer.writerow(["index","a_name","b_name"])  # 写入列名,如果没有列名可以不执行这一行
    # writer.writerows([[0, 1, 3], [1, 2, 3], [2, 3, 4]]) # 写入多行用writerows
  
 #如果你的数据量很大,需要在循环中逐行写入数据
 for i in range(100000):
	 with open(savepath, 'a+', newline='') as csvfile:      # a+表示以追加模式写入,如果用w会覆盖掉原来的数据。如果没有newline='',则逐行写入的数据相邻行之间会出现一行空白。读者可以自己试一试。
	 csv_write = csv.writer(csvfile)
	 csv_write.writerow(row_data)    # 写入1行用writerow; row_data是你要写入的数据,最好是list类型。
 
 
f = open(savepath)
csv_read = csv.reader(f)
for line in csv_read:                # csv.reader(f)返回一个迭代器。迭代器的好处就是可以不用一次性将大量的数据都读进来,而是如果你需要一条,就给迭代器一个命令让它输出一条。关于迭代器的优点读者可以另行学习。
	print line

需要注意从csv文件读出来的数据是字符串,不是浮点数。使用float(str)完成转换。

# 也可以使用pandas读取csv文件
import pandas as pd

data = pd.read_csv(filepath, head=None, encoding='utf-8')   #data是一个dataframe对象
# 关于read_csv函数,这里并不做详细讲解。

data = data.values().astype('float32')  #将dataframe转换为数值矩阵
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/162498.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 【设计模式】Template Method模式

    【设计模式】Template Method模式

    2022年1月15日
    56
  • 数据库 分区表详解

    数据库 分区表详解如果你的数据库中某一个表中的数据满足以下几个条件,那么你就要考虑创建分区表了。1、数据库中某个表中的数据很多。很多是什么概念?一万条?两万条?还是十万条、一百万条?这个,我觉得是仁者见仁、智者见智的问题。当然数据表中的数据多到查询时明显感觉到数据很慢了,那么,你就可以考虑使用分区表了。如果非要我说一个数值的话,我认为是100万条。2、但是,数据多了并不是创建分区表的惟一条件,哪怕你有一千万条记录,但

    2022年6月6日
    40
  • Matlab中axis函数用法总结[通俗易懂]

    Matlab中axis函数用法总结[通俗易懂]axis主要是用来对坐标轴进行一定的缩放操作,其操作命令主要如下:1、axis([xminxmaxyminymax])设置当前坐标轴x轴和y轴的限制范围2、axis([xminxmaxyminymaxzminzmaxcmincmax])设置x,y,z轴的限制范围和色差范围。3、v=axis返回一个行向量,记录了坐标范围4、axis…

    2022年6月14日
    124
  • vue源码实现的整体流程解析「建议收藏」

    vue源码实现的整体流程解析「建议收藏」一、前言最近一直在使用vue做项目,闲暇之余查阅了一些关于vue实现原理的资料,一方面对所了解到的知识做个总结,另外一方面希望能对看到此文章的同学有所帮助。本文如有不足之处,还请过往的大佬批评指正。

    2022年8月4日
    5
  • 利用python进行数据分析豆瓣_如何用python做数据分析

    利用python进行数据分析豆瓣_如何用python做数据分析一、处理数据的基本内容数据分析是指对数据进行控制、处理、整理、分析的过程。在这里,“数据”是指结构化的数据,例如:记录、多维数组、Excel里的数据、关系型数据库中的数据、数据表等。二、说说

    2022年8月4日
    6
  • git 查看当前用户[通俗易懂]

    git 查看当前用户[通俗易懂]查看当前登录用户:gitconfiguser.name//获取当前登录的用户gitconfiguser.email//获取当前登录用户的邮箱

    2025年6月11日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号