宽度学习数据预处理——python批量读取单张图片csv文件转为一维数组并存入同一csv文件

一、先放转后的文件效果图

以55*55的图片csv文件为例子,经过代码处理后每一行为一张图片

二、上代码

以读取400张55*55的csv文件为例

注意:如果电脑转的数据过大导致过慢,或者显示报错数据超出列表长度,可以注释掉主函数中pixe(p_array),再修改save的循环参数,分成若干份转换数据,这样速度会更快

import csv
 
 
def array(a_name):
    with open('../data/csv_data/' + a_name + '.csv') as f:  # 读取文件
        reader = csv.reader(f)  # 创建阅读器
        rows = [row for row in reader]  # 按行读取
        # print(rows[0])  # 打印第0行,此时读取的数据类型为列表
    Array = []
 
    # 此处需要按照csv文件中图片矩阵大小修改range中参数
    for i in range(55):
        a = rows[i]
        for j in range(55):
            b = int(a[j])
            Array.append(b)
    return Array
 
def pixe(p_array):
 
    # open中为处理后储存路径
    with open("../data.csv", "w",newline='') as csvfile:
        writer = csv.writer(csvfile)
        # 先写入columns_name
        writer.writerow(p_array)
 
def save(Array):
    with open("../data.csv", "a",newline='') as csvfile:
        writer = csv.writer(csvfile)
        # 写入多行用writerows,写入单行用writerow
        writer.writerow(Array)
   
if __name__ == '__main__':
 
    # 计算图片的一维元素个数,生成第一行index(此处为像素点编号)
    # 按照不同图片的大小需要修改range中参数(此处为55*55=3025)
    p_array = []
    for j in range(1, 3026):
        b1 = 'pixe' + str(j)
        p_array.append(b1)
    pixe(p_array)
 
    # 修改range中参数为需要读取的文件个数(此处读取400个csv文件)
    for b in range(0,400):
        a_name = str(b+1)
        a = array(a_name)
    save(a)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

长弓同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值