""" csv两种写入操作 csv就是字符分隔的纯文本,字段间的分隔符是其他字符或字符串 csv写入之后的文件可以直接Excel打开 """ import csv def write_csv_demo(): headers = ["username", "age", "height"] values = { ("张三", 18, 180), ("李四", 19, 190), ("王五", 20, 160) } # 写入编码utf-8防止乱码,newline默认\n换行,防止换行让它等于空字符串 with open("classroom.csv", "w", encoding="utf-8", newline="") as fp: # 调用csv库的writer()方法并传入fp文件句柄生成<class '_csv.writer'>实例对象 writer = csv.writer(fp) # 调用实例对象的方法writerow()写入一行,默认逗号分隔。传入delimiter=" "可以修改列与列之间的分隔符 writer.writerow(headers) # 写入多行是在writerow的基础之上添加map()方法传入一个函数和列表循环写入 writer.writerows(values) def write_csv_site(): headers = ["username", "age", "height"] values = [ {"username": "张三", "age": 18, "height": 180}, {"username": "李四", "age": 19, "height": 190}, {"username": "王五", "age": 20, "height": 160}, ] with open("classroom1.csv", "w", encoding="utf-8", newline="") as fp: # DictWriter需要传入一个文件句柄和字典的key列表 writer = csv.DictWriter(fp, headers) # 正式写入需要调用writeheader方法传入文件头 writer.writeheader() # 写入多行文本 writer.writerows(values) if __name__ == '__main__': write_csv_demo() write_csv_site()
相关文章: