六、python的csv模块


1、csv介绍

Python中集成了专用于处理csv文件的库,名为:csv。
csv 库中有4个常用的对象:

  1. csv.reader:以列表的形式返回读取的数据。
  2. csv.writer:以列表的形式写入数据。
  3. csv.DictReader:以字典的形式返回读取的数据。
  4. csv.DictWriter:以字典的形式写入数据。

2、使用csv.writer写入数据

# 导入 csv 库
import csv

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

# 创建列表,保存数据
data_list = [
    [0, 31, 20, 1000],
    [1, 30, 22, 998],
    [2, 32, 33, 1005]
]

# 以写方式打开文件。注意添加 newline="",否则会在两行数据之间都插入一行空白。
with open("new_data.csv", mode="w", encoding="utf-8-sig", newline="") as f:
    
    # 基于打开的文件,创建 csv.writer 实例
    writer = csv.writer(f)

    # 写入 header。
    # writerow() 一次只能写入一行。
    writer.writerow(header_list)

    # 写入数据。
    # writerows() 一次写入多行。
    writer.writerows(data_list)

3、csv的行转列

Python如何敲代码将csv文件的数据由行转为列

先将 csv 文件按行读入,构成一个二维列表
然后使用 zip 和 * 号进行转置

3.1 python的行转列

# 实现行转列
table = [["col1", "col2"],
        ["item1-1", "item1-2"],
        ["item2-1", "item2-2"]]
result_table = list(zip(*table))
print(result_table)

3.2 csv实现行专列

res_csv_file = datetime.now().strftime("%Y-%m-%d_%H-%M-%S") + '_day_charm.csv'
row = ["one", "tow"]
context = [[1,2,3],[4,5,6]]
context_table = list(zip(*context))
    with open(res_csv_file, 'w') as myFile:
        myWriter = csv.writer(myFile)
        myWriter.writerow(row)
        myWriter.writerows(context_table)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值