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

Python自定义read_csv方法报TypeError: 'type' object is not iterable求助

错误定位与修复方案

核心报错原因

你触发TypeError: 'type' object is not iterable的直接原因是循环遍历的对象写错了:
你定义的函数入参名为input,但循环行写的是for file in list,此处的list是Python的内置列表类型,并非你传入的文件列表,遍历类型对象自然会报错。

其他存在的问题

  • 函数命名冲突:自定义函数名read_csv和你导入的Pandas自带的read_csv方法重名,运行时会出现调用逻辑混乱,属于不规范命名。
  • 结果覆盖问题:循环内每次都对tradeList重新赋值,最终只会返回最后一个文件的指定列结果,无法实现「为每个文件返回指定列取值列表」的需求。

修正后的完整代码

import json, requests, urllib.parse, re
import pandas as pd
from termcolor import colored
import numpy as np
from glob import glob
import os


# Set Up
dateinplay = "2021-09-27"
cdwenv1 = "cdwu"  # Note that it only works with the http version right now
cdwenv2 = "cdwp"  # Control Env, usually cdwp
CoreMurexFilesLoc = r"J:\Gerard\Release197\UAT\Files\Core"

# Dev Static
cdwenv = ""  # leave empty
files = glob(CoreMurexFilesLoc + "\\*")

# index 1: MHEU_TradeCash_ | 2: TradeCash_
tradeCashfiles = [i for i in files if "TradeCash" in i]

# index 1: MHEU_Trade_ | 2: Trade_
tradeFiles = [i for i in files if "Trade_" in i]

mheu_tradeCash = tradeCashfiles[1]
tradeCash = tradeCashfiles[2]
mheu_trade = tradeFiles[1]
trade = tradeFiles[2]

filesList = [mheu_trade, trade, mheu_tradeCash, tradeCash]


# 改个不冲突的函数名,入参名也做语义化修改,避免和内置关键字冲突
def get_counterparty_list(file_list: list):
    # 初始化结果列表存储所有文件的取值
    all_trade_list = []
    for file in file_list:
        df_trade = pd.read_csv(
            file,
            delimiter="|",
            index_col=False,
            dtype="unicode",
        )
        # Drop any blank fields
        df_trade.dropna(subset=["MurexCounterpartyRef"], inplace=True)
        tradeList = df_trade["MurexCounterpartyRef"].tolist()
        # 把当前文件的结果追加到总结果中,如果需要区分对应文件,也可以用字典存储
        all_trade_list.extend(tradeList)
    return all_trade_list


result = get_counterparty_list(filesList)
print(result)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 02:15:00