mnist数据集转化成csv格式。(1.15学习)_seven_不是赛文的博客-优快云博客_mnist数据集csv格式 官方MINIST下载文件格式需要改动,改成csv格式
def convert(imgf, labelf, outf, n):
#rb,以二进制只读方式从文件开头打开
#w,从文件开头开始写入
f = open(imgf, "rb")
o = open(outf, "w")
l = open(labelf, "rb")
# 读入指定字节数
f.read(16)
l.read(8)
# 创建一个列表
images = []
for i in range(n):
# ord()返回字符对应的Asc码
image = [ord(l.read(1))]
# print("***************")
# print(len(image))
# print(image)
for j in range(28*28):
image.append(ord(f.read(1)))
# print(len(image))
images.append(image)
# print("------------")
# print(images)
#写入输出文件
for image in images:
o.write(",".join(str(pix) for pix in image)+"\n")
f.close()
o.close()
l.close()
# if __name__ == '__main__':
# #生成train.csv
# convert(r"自己的路径\train-images.idx3-ubyte", r"自己的路径\train-labels.idx1-ubyte",
# r"自己的路径\mnist.train.csv", 60000)
#
# #生成test.csv
# convert(r"自己的路径\t10k-images.idx3-ubyte", r"自己的路径\t10k-labels.idx1-ubyte",
# r"自己的路径\mnist_test.csv", 10000)
if __name__ == '__main__':
convert(r'C:\Users\Lenovo\fashion mnist\train-images-idx3-ubyte/train-images.idx3-ubyte', r"C:\Users\Lenovo\fashion mnist\train-labels-idx1-ubyte/train-labels.idx1-ubyte",
r"C:\Users\Lenovo\fashion mnist/fashion mnist.train.csv", 60000)
convert(r"C:\Users\Lenovo\fashion mnist\t10k-images-idx3-ubyte/t10k-images.idx3-ubyte", r"C:\Users\Lenovo\fashion mnist/t10k-labels.idx1-ubyte",
r"C:\Users\Lenovo\fashion mnist/fashion mnist_test.csv", 10000)
print("Convert Finished!")