在《Python中csv文件的操作2》中提到,with as语句可以自动关闭文件,而该语句可以和csv模块中的函数配合使用,达到读取和写入csv文件的目的。
1 csv文件的读取
使用csv模块中的函数读取csv文件的代码如图1所示。
图1 使用csv模块中的函数读取csv文件
其中,第1行代码导入csv模块;第2行代码使用with as语句打开csv文件,并保存到f中;第3行代码通过csv模块中的reader()函数获取文件的“读取器”,该函数的参数即为保存文件的变量f;第4-5行代码通过for循环遍历“读取器”reader中的内容,并打印出来。程序运行的效果如图2所示。
图2 程序运行效果
从图2中可以看出,“读取器”reader中的数据是以列表的方式保存的。
2 csv文件的写入
通过csv模块中的“写入器”调用writerow()函数或writerows()函数向csv文件中写入内容。
2.1 writerow()函数
使用writerow()函数向csv文件中写入内容的代码如图3所示。
图3 使用writerow()函数向csv文件中写入内容
第3行代码通过csv模块的writer()方法创建了“写入器”,该方法的参数为保存了打开文件的变量f;第4行代码通过“写入器”writer调用writerow()函数向csv文件中写入内容。writerow()函数的参数是一个列表变量,该函数将列表中的变量写入到同一行,图3所示的代码运行后“水果.csv”文件的内容如图4所示。
图4 “水果.csv”文件的内容
2.2 writerows()函数
使用writerows()函数向csv文件中写入内容的代码如图5所示。
图5 使用writerow()函数向csv文件中写入内容
writerows()函数的参数是一个列表变量,该函数的作用是将列表中的每个元素写入到csv文件中的一行,不同的元素写入到不同的行。因此,图5所示的代码运行后,“水果.csv”文件的内容如图6所示。
图6 “水果.csv”文件的内容