分享python 写 csv 文件的两种方法
时间:2023-02-27 10:34:21|栏目:Python代码|点击: 次
问题描述
在深度学习相关任务的训练时,需要在训练的每个 epoch 记录当前 epoch 的准确率(如下图所示),那么在 python 中要怎么将内容写入 csv 文件呢,学习发现可以使用 csv 或者 pandas 实现,在这里做个简单记录。
这里示例的代码为以追加模式写,每次写入一行
方法一: csv
import csv log_path = 'log/temp.csv' file = open(log_path, 'a+', encoding='utf-8', newline='') csv_writer = csv.writer(file) csv_writer.writerow([f'Epoch', 'Accuracy']) csv_writer.writerow(['1', '96.25%']) file.close()
执行完打开文件如下图所示:
方法二: pandas
import os import pandas as pd path = 'temp.csv' # 一次写入一行 df = pd.DataFrame(data=[['1', '98.2789%']]) # 一次写入多行 df = pd.DataFrame(data=[['1', '98.2789%'], ['2', '76.2345%']]) # 解决追加模式写的表头重复问题 if not os.path.exists(path): df.to_csv(path, header=['epoch', 'accuracy'], index=False, mode='a') else: df.to_csv(path, header=False, index=False, mode='a')
执行完打开文件如下图所示: