Python——CSV文件读写

非字典类型数据读写(reader、writer)

  • delimiter
    • 用于分隔字段的单字符,默认为 ','
import csv

datas = [[1, 2, 3], ['纪', '宇'], ['xxx', 'yyy', 'zzz'], '字符串']

# 写
with open('test.csv', 'w+', newline='') as fr:
    writer = csv.writer(fr, delimiter='|')
    for data in datas:
        writer.writerow(data)
# 读
with open('test.csv', 'r') as fw:
    reader = csv.reader(fw)
    for row in reader:
        print(row)




 

字典类型数据读写

  • fieldnames 参数
    • 指定字典中值的顺序,csv文件中,第一行数据为键
  • extrasaction 参数
    • 如果传递给 writerow() 方法的字典的某些键在 fieldnames 中找不到
    • 其设置默认值 'raise',会引发 ValueError
    • 如果将其设置为 'ignore',则字典中的其他键值将被忽略
  • writeheader()
    • 写入一行字段名称,fieldnames 参数的值
    • 不写入键,则会以第一行的数据作为默认字段
import csv

datas = [
    {'title': '标题1', 'url': 'xxx1.com', 'pubtime': 'time1', 'author': '作者1'},
    {'title': '标题2', 'url': 'xxx2.com', 'pubtime': 'time2', 'author': '作者2'},
    {'title': '标题3', 'url': 'xxx3.com', 'pubtime': 'time3', 'author': '作者3'},
]

# 写
with open('test.csv', 'w+', newline='', encoding='utf-8') as fr:
    # 设置字段
    fieldnames = ['title', 'pubtime', 'url']
    writer = csv.DictWriter(fr, fieldnames=fieldnames, extrasaction='ignore')
    # 写入第一行的字段
    writer.writeheader()
    for data in datas:
        writer.writerow(data)

# 读
with open('test.csv', 'r', encoding='utf-8') as fw:
    reader = csv.DictReader(fw)
    for row in reader:
        # 返回的行是dict类型
        print(row['title'], row['url'], '\t--\t', row)

扫描二维码关注公众号 

 

MATLAB主动噪声和振动控制算法——对较大的次级路径变化具有鲁棒性内容概要:本文主要介绍了一种在MATLAB环境下实现的主动噪声和振动控制算法,该算法针对较大的次级路径变化具有较强的鲁棒性。文中详细阐述了算法的设计原理与实现方法,重点解决了传统控制系统中因次级路径动态变化导致性能下降的问题。通过引入自适应机制和鲁棒控制策略,提升了系统在复杂环境下的稳定性和控制精度,适用于需要高精度噪声与振动抑制的实际工程场景。此外,文档还列举了多个MATLAB仿真实例及相关科研技术服务内容,涵盖信号处理、智能优化、机器学习等多个交叉领域。; 适合人群:具备一定MATLAB编程基础和控制系统理论知识的科研人员及工程技术人员,尤其适合从事噪声与振动控制、信号处理、自动化等相关领域的研究生和工程师。; 使用场景及目标:①应用于汽车、航空航天、精密仪器等对噪声和振动敏感的工业领域;②用于提升现有主动控制系统对参数变化的适应能力;③为相关科研项目提供算法验证与仿真平台支持; 阅读建议:建议读者结合提供的MATLAB代码进行仿真实验,深入理解算法在不同次级路径条件下的响应特性,并可通过调整控制参数进一步探究其鲁棒性边界。同时可参考文档中列出的相关技术案例拓展应用场景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值