You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何调整Python代码将Debit与Credit数据写入CSV并解决报错

解决CSV写入时"UnsupportedOperation: not readable"错误

错误根源

这个错误的核心原因完全是文件打开模式不对——你大概率用了只读模式('r')打开文件,却试图执行写入操作,系统自然会拒绝。

两种可行解决方案

方案1:修正csv模块的用法(如果你坚持用csv模块)

先确保你用写入模式打开文件,同时指定正确的编码和换行符,再传入你筛选后的Debit/Credit数据:

import csv
import pandas as pd

# 假设你已经完成数据读取、清洗、筛选,得到了目标DataFrame:filtered_df
# 把DataFrame转成csv可识别的行格式(含表头)
output_rows = [filtered_df.columns.tolist()] + filtered_df.values.tolist()

# 关键:用'w'(覆盖写入)或'a'(追加写入)模式打开文件,加newline=''避免空行
with open('financial_output.csv', 'w', newline='', encoding='utf-8') as f:
    writer = csv.writer(f)
    writer.writerows(output_rows)

方案2:用pandas自带的to_csv(更简洁,推荐)

既然已经在用pandas处理数据,没必要额外调用csv模块,pandas的to_csv方法直接帮你搞定所有细节:

# 假设filtered_df是你筛选后包含Debit、Credit列的目标DataFrame
filtered_df.to_csv('financial_output.csv', 
                   index=False,  # 不写入行索引,避免多余列
                   columns=['Debit', 'Credit'],  # 可选:只写入指定列
                   encoding='utf-8')

关键变量说明

你需要用到的核心变量是经过pandas清洗、筛选后的DataFrame(比如代码里的filtered_df)——就是你之前能正常打印出目标Debit/Credit记录的那个数据集。

内容的提问来源于stack exchange,提问作者n3cr05c0p3

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 20:41:08