1.纯文本,使用某个字符集,比如 ASCI,Unicode、 EBCDIC或GB231
2(简体中文环境)等2由记录组成(典型的是行条记录);
3.每条记录被分符分隔为段(典型分精符有退号、分号或制表符:有时分隔符可以包括可选的空)
4.每条记录都有同样的字段序列
import csv
#读入csv文件中
# def csv_demo1():
# with open('python.csv', 'r') as f:
# reader = csv.reader(f) # reader 是一个迭代器,所以可以用for循环来迭代它
# next(reader) # 加next标题那一行就不会再去遍历,就是我们常说的第一行
# for x in reader: # x遍历的是一行,一行,一行地遍历
# 职位 = x[0] # 读取的时候也可以按照索引读取,再给名字它
# 工资 = x[3]
# print({'职位': 职位, '工资': 工资}) # 字典里面用单引号
# def csv_demo2():
# with open('python.csv','r') as f:
# reader = csv.DictReader(f) #返回来的是一个字典,也不会包含第一行数据
# #reader是一个迭代器,返回来的是一个字典,是一个有序的字典,其他普通的字典是无序的
# for x in reader:
# value = {'职位':x['职位'],'工作时间':x['工作时间']} #能通过key的方式获取值,这样更安全
# print(value)
#写入csv文件
# def xr_csv():
# headers = ['a','b','c'] #定义一个表头信息,即是写入的第一行
# values = [
# ('张三',18,180),
# ('李四',19,179),
# ('王五',18,180)
# ]
# with open('csv.csv','w',encoding='utf-8',newline='') as f: #encoding 指定输入的编码,一般写入文件用这个
# #newline='' ''里面默认的是'\n'换行,就是写入的时候不会有空出一行
# writer = csv.writer(f)
# writer.writerow(headers) #把表头数据写进去
# writer.writerows(values) #可以写入多条数据
def zd_csv():
headers = ['name', 'age', 'highy'] #表头要和下面字典的key 一一对应才可以输入的,表头中的值就是字典中的key
value = [
{'name': 'dj', 'age': 20, 'highy': 175},
{'name': 'dj', 'age': 21, 'highy': 175},
{'name': 'dj', 'age': 22, 'highy': 175}
]
with open('字典.csv','w',newline='',encoding='utf-8') as f:
writer = csv.DictWriter(f,headers)
#写入表头的数据时候,需要调用writeheader()方法,他不会自动写入表头的,要自己手动添加方法写入
writer.writeheader()
writer.writerows(value)
if __name__ == '__main__':
zd_csv()

1058

被折叠的 条评论
为什么被折叠?



