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

使用Pandas链式方法读写CSV文件报错,请求修正代码

修正后的代码及说明

问题原因

原代码误用apply方法,apply默认逐行/逐列处理数据,而我们需要对整个DataFrame执行保存操作,这会导致逻辑混乱;同时apply的返回值会生成新的DataFrame,不符合保存文件的需求。

修正代码

import pandas as pd

(pd.read_csv('https://www.stats.govt.nz/assets/Uploads/Business-financial-data/Business-financial-data-September-2022-quarter/Download-data/business-financial-data-september-2022-quarter-csv.zip')
    .assign(New=lambda x: 'NEW')
    .pipe(lambda df: df.to_csv(f"{df['New'].iloc[0]}_File.csv")))

关键修改点

  • 用pipe替代apply:pipe可接收整个DataFrame作为参数,适配链式调用中针对完整数据集的操作场景
  • 用iloc[0]替代values[0]:符合pandas规范写法,可读性更强
  • 使用f-string拼接文件名:语法简洁直观

如果需要按指定列的不同值拆分保存多个文件,可使用分组写法:

import pandas as pd

(pd.read_csv('https://www.stats.govt.nz/assets/Uploads/Business-financial-data/Business-financial-data-September-2022-quarter/Download-data/business-financial-data-september-2022-quarter-csv.zip')
    .assign(New=lambda x: 'NEW')
    .groupby('New')
    .apply(lambda group: group.to_csv(f"{group.name}_File.csv")))

这段代码会按New列的不同值分组,每个分组单独保存为CSV文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 19:22:36