其他分享
首页 > 其他分享> > csv文件操作(记笔记)

csv文件操作(记笔记)

作者:互联网


```#一。读取csv文件
import csv
#1.通过下标来获取一列的内容
'''  
with open('stock.csv','r',encoding='gbk') as fp:
    readers=csv.reader(fp)      #csv.reader() 返回的是一个迭代器   可用循环得出内容
    for reader in readers:
        print(reader)           #得到的内容是一个列表   可以通过 reader[] 加下标  来获取这一列的内容'''
#2.通过列的名字获取内容
'''
with open('stock.csv','r',encoding='gbk') as fp:
    readers=csv.DictReader(fp)        #采用不同的函数 csv.DictReader()
    for reader in readers:
        print(reader['secShortName'])'''

#二。写入csv文件
#1.
headers = ('name','age','height')   #设置表头 即第一行的内容
students = [
    ("张三",18,180),
    ("李四",19,190),
    ("王五",20,170)]     #这要和表头信息对应
#如果我改为这样   [{  }]  的话写入的内容就会把  "张三",18,180  看成一个内容写在第一个头下面 
with open('students.csv','w',encoding='utf-8',newline='') as fp:     #newline 作用是改变 换行符  不改变,一般默认的是 /n
    writer=csv.writer(fp)
    writer.writerow(headers)          #只能写一行
    writer.writerows(students)        #可以写入多行
 
    
#2. 以字典形式写入
students = [
    {"name":"张三","age":18,"height":180},
    {"name":"李四","age":19,"height":190},
    {"name":"王五","age":20,"height":170}
]
with open("students.csv",'w',encoding='utf-8',newline='') as fp:
    writer = csv.DictWriter(fp,headers)
    # 虽然DictWriter创建的时候有一个headers,但是想要写入数据进去,还是需要调用
    # writer.writeheader()方法,否则,表头数据写入不进去
    writer.writeheader()
    writer.writerows(students)

标签:fp,文件,students,writer,写入,reader,csv,记笔记
来源: https://blog.csdn.net/qq_50958709/article/details/112971680