1、csv写入csv文件
import csv #导入csv模块
csv_file = open('demo.csv','w',newline='') #打开文件,若没有文件,则创建一个demo文件,w是覆盖式的写入数据,每写一次覆盖之前的数据,a+是追加内容,不会覆盖之前的数据,在后面显示新增的数据
writer = csv.writer(csv_file)
writer.writerow(['姓名','年龄']) #按行输入姓名和年龄两个数据
csv_file.close() #关闭文件,不管读写都要关闭文件,这是一个习惯问题
2、csv读取csv文件
import csv
csv_file = open('demo.csv','r',newline='') #r是只读数据,
reader=csv.reader(csv_file) #
for row in reader: #用for遍历resder,然后输出
print(row)
3、newline的作用(这里我把文件改成txt了,因为csv对csv文件和txt都可操作)
(1)写文件的时候写newline=‘’
import csv
csv_file = open('demo.txt','w',newline='')
writer = csv.writer(csv_file)
writer.writerow(['姓名','年龄'])
writer.writerow(['姓名','年龄'])
writer.writerow(['姓名','年龄'])
csv_file.close()
import csv
csv_file = open('demo.txt','r')
reader=csv.reader(csv_file)
for row in reader:
print(row)
结果:
姓名,年龄
姓名,年龄
姓名,年龄
(2)写文件的时候不写newline=‘’
import csv
csv_file = open('demo.txt','w')
writer = csv.writer(csv_file)
writer.writerow(['姓名','年龄'])
writer.writerow(['姓名','年龄'])
writer.writerow(['姓名','年龄'])
csv_file.close()
import csv
csv_file = open('demo.txt','r')
reader=csv.reader(csv_file)
for row in reader:
print(row)
结果:
姓名,年龄
姓名,年龄
姓名,年龄
总结:newline是取消\r\n的作用,因为write函数在执行时会自动加上\n\r(换行跳格符)