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

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

文章目录

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

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转换为数值矩阵
编程小号
上一篇 2025-03-02 08:06
下一篇 2025-02-18 19:06

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/hz/111287.html