如何将Python代码print输出的三类数值写入CSV文件对应三列
实现方案
Python内置了csv模块可以直接实现需求,无需安装第三方依赖,下面是两种常用场景的写法:
场景1:新建CSV文件(支持加表头)
import csv # 计算三个数值 total = n_active + n_suspended row_data = [total, n_active, n_suspended] # 写入CSV文件 with open('统计数据.csv', 'w', newline='', encoding='utf-8') as f: writer = csv.writer(f) # 不需要表头可以删掉下面这行 writer.writerow(['总数', '激活数', '暂停数']) # 写入数值行 writer.writerow(row_data)
场景2:追加数据到已有CSV文件
如果需要每次运行都往同一个文件新增一行数据,把文件打开模式从覆盖写w改成追加写a即可:
import csv total = n_active + n_suspended row_data = [total, n_active, n_suspended] with open('统计数据.csv', 'a', newline='', encoding='utf-8') as f: writer = csv.writer(f) # 只有第一次创建文件时需要写表头,追加时注释掉下面这行即可 # writer.writerow(['总数', '激活数', '暂停数']) writer.writerow(row_data)
注意事项
- 打开文件时加
newline=''是为了兼容Windows系统,避免写入后每行之间出现多余空行 - 指定
encoding='utf-8'可以避免后续打开CSV出现乱码问题 - 如果项目已经在使用Pandas做数据处理,也可以用
pandas.to_csv()实现,适合批量写入大量数据的场景
内容的提问来源于stack exchange,提问作者Nilay
相关产品推荐
相关产品推荐

