在《Python中csv文件的操作1》中提到,可以通过read()和write()方法读取和写入csv文件中的所有内容。除了上述的两个方法外,还可以通过readline()、readlines()、writelines()实现csv文件的读写操作。
1 readline()方法
readline()方法每次只读取文件的一行,通常是将读取到的一行内容放到一个字符串变量中,返回字符串类型的数据,代码如图1所示。
图1 readline()方法读取csv文件
其中,第2行和第4行分别调用readline()方法读取“学生.csv”文件中的一行数据,readline()会把一行数据中的换行符号(“\n”)读出来,因此调用strip()函数去掉该换行符,程序运行的效果如图2所示。
图2 程序运行效果
注意1 “学生.csv”文件中的内容请参考《Python中csv文件的操作4》。
2 readlines()方法
readliens()方法每次按行读取整个文件内容,将读取到的内容放到一个列表中,返回列表类型数据,代码如图3所示。
图3 readlines()方法读取csv文件
其中,第2行代码调用readlines()方法读取“学生.csv”文件中的所有数据,并将数据保存到stu中。图3所示的代码运行效果如图4所示。
图4 程序运行效果
从图4中可以看出,readlines()也会把每一行中的换行符读出。可以使用for循环去掉每行的换行符,代码如图5所示。
图5 使用for循环去掉换行符
从图5中可以看出,第4-5行使用for循环逐行读取stu中的数据,并将其保存到s中。通过s调用strip()方法去掉换行符之后再通过append()方法将s添加到列表stu_list中。图5所示的代码运行效果如图6所示。
图6 程序运行效果
3 writelines()方法
writelines()方法的作用是向文件中写入指定内容,和write()方法的区别在于write()方法只能向文件中写入字符串,而writelines()方法不仅可以写入字符串还可以写入字符串列表,代码如图7所示。
图7 writelines()方法向csv中写入数据
其中,第3行使用writelines()方法,向“学生.csv”文件中写入两行内容,效果如图8所示。
图8 程序运行效果