前方

    本文中如有错误请指正。

背景

    工作中总会遇到各种各样的问题,虽然现在操作txt文件较多,但是总少不了要读写csv,感觉总是把csv文件转成txt多少会有一些不便,因此打算学习一下读写csv的操作,并写出来作为日后的复习笔记。
    所谓CSV(逗号分隔值)格式是电子表格和数据库最常用的导入和导出格式。csv模块实现了以CSV格式读取和写入表格数据的类。csv模块reader和writer对象读取和写入序列。程序员还可以使用DictReader和DictWriter类以字典形式读取和写入数据。

介绍

  • csv.writer(csvfile,dialect=‘excel’,**fmtparams)
        写。返回一个编写器对象,负责将用户的数据转换为给定类文件对象上的分隔字符串。csvfile可以是带有write()方法的任何对象 。如果csvfile是文件对象,则应使用newline=’'打开它。
    示例:
f = open('writefile.csv','a',newline='')
writer = csv.writer(f)
#1
writer.writerow(['data1','data2','data3'])
#2
data1 = [['bob1','12','male'],['jeryy1','93','female'],['lee1','32','male']]
for row in data1:
    writer.writerow(row)
#3
data2 = ['row3','row4','row5']
writer.writerow(data2)

csv文件怎么用神经网络训练 csv.writer_字符串

  • csv.reader(csvfile,dialect=‘excel’,**fmtparams)
        读。返回一个reader对象,它将迭代给定csvfile中的行。csvfile可以是任何支持迭代器协议的对象。
f = open('writefile.csv','r',newline='')
reader = csv.reader(f)
for row in reader:
    print(row)

csv文件怎么用神经网络训练 csv.writer_CSV_02


    可以看到每行输出为一个列表。可以用 python join()方法返回通过指定字符连接序列中元素后生成的新字符串。

如下图:

csv文件怎么用神经网络训练 csv.writer_CSV_03

  • ps: Dialect.delimiter
        为了便于指定输入和输出记录的格式,将特定格式参数组合在一起成为方言。方言是Dialect具有一组特定方法和单个validate()方法的类的子类。在创建reader或 writer对象时,程序员可以指定类的字符串或子Dialect类作为dialect参数。此处只介绍这一个。
        用于分隔字段的单字符字符串。它默认为’,’。
        将前面写函数 加入参数delimiter。

        可以看到每行之间的分隔符变成了自己定义的那一个。

写在最后

1.    对于读写csv文件时,打开文件用到的参数newline=''。有这样一段话:If newline=’’ is not specified, newlines embedded inside quoted fields will not be interpreted correctly, and on platforms that use \r\n linendings on write an extra \r will be added. It should always be safe to specify newline=’’, since the csv module does its own (universal) newline handling.
如果不懂,只需要明白 ,为了安全,打开文件时一定要加上。
2.    此篇对csv部分的介绍并不全面,只是写出了常用的读写。后期若用到别的还会继续补充。