python操作CSV


'''
这里有个小坑,创建csv时候要另存为编码为csv的格式
'''
"""
csv 库中有4个常用的对象:
csv.reader:用来从一个文件对象或一个迭代器中读取CSV数据,返回一个迭代器,每次迭代返回一个列表,表示一行数据。
csv.writer:用来将数据写入一个文件对象或一个迭代器中,接受一个可迭代对象作为参数,每个元素是一个列表,表示一行数据。
csv.DictReader:以字典的形式返回读取的数据。
csv.DictWriter:以字典的形式写入数据。
"""
#方式一
import csv
# #1、读取表头
# with open(r'D:\\Duments\\testfile\test.csv','r',encoding='utf-8-sig') as f:
#     #创建与阅读器对象
#     reader = csv.reader(f)#可迭代对象
#     print(reader)
#     #读取文件的头
#     lines_info=next(reader)
#     print(lines_info)
# #2、读取某一行数据
#     for lins in reader:
#         print(lins)

#写入数据
#注意:以写方式打开文件。注意添加 newline="",否则会在两行数据之间都插入一行空白。
# lists2=['sss','22','ss','dsds']
# data_list = [
#     [0, 31, 20, 1000],
#     [1, 30, 22, 998],
#     [2, 32, 33, 1005]
# ]
# with open(r'D:\\Duments\\testfile\test.csv',mode='w',encoding='utf-8-sig',newline="") as f1:
#     #基于打开文件创建一个csv.writer的实列
#     write_info=csv.writer(f1)
#     # 写入 header。
#     # writerow() 一次只能写入一行。
#     write_info.writerow(lists2)
#     # 写入数据。
#     # writerows() 一次写入多行。
#     write_info.writerows(data_list)
#
# #以字典的形式读取数据
# with open(r'D:\\Duments\\testfile\test.csv',mode='r',encoding='utf-8-sig',newline="") as f4:
#     dict_info=csv.DictReader(f4)
#     print(dict_info)
#     '''
#     表头是键
#     下面的数据都是值
#     '''
#     for dict_info in dict_info:
#         print(dict_info['sss'])#0,1,2

#以字典的形式写入数据

# 导入 csv 库
import csv

# 创建 header 列表
header_list = ["设备编号", "温度", "湿度", "转速"]

# 创建数据列表,列表的每个元素都是字典
data_list = [
    {"设备编号": "0", "温度": 31, "湿度": 20, "转速": 1000},
    {"设备编号": "1", "温度": 30, "湿度": 22, "转速": 998},
    {"设备编号": "2", "温度": 32, "湿度": 23, "转速": 1005},
]

# 以写方式打开文件。注意添加 newline="",否则会在两行数据之间都插入一行空白。
with open(r"D:\\Duments\\testfile\new_data.csv", mode="w", encoding="utf-8-sig", newline="") as f:
    # 基于打开的文件,创建 csv.DictWriter 实例,将 header 列表作为参数传入。
    writer = csv.DictWriter(f, header_list)

    # 写入 header 表头
    writer.writeheader()

    # 写入数据
    writer.writerows(data_list)











  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值