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

不使用open()函数读取|分隔CSV文件的技术方案咨询

无法使用open()读取分隔符文本文件的可行解决方案

方案1:使用pandas直接读取(最简便,符合现有环境要求)

pandas内置的read_csv方法不需要你显式调用open()创建文件对象,直接传入文件路径即可完成读取,也不需要用到with关键字,完全适配你的场景:

import pandas as pd

# 直接传入文件路径,指定分隔符、引号字符,因为没有表头所以header设为None
df = pd.read_csv(
    "file.txt",
    sep="|",
    quotechar="'",
    header=None,
    skipinitialspace=True # 处理部分字段前的多余空格
)
# 转换为嵌套列表,匹配你需要的无结构列表格式
mylist = df.values.tolist()

你不需要对Dataframe做额外操作,直接转成列表后就可以沿用你原来的处理模板,不会额外增加复杂度,运行后mylist的输出格式和你原本用csv.reader得到的结果完全一致。

方案2:使用Spark原生API读取(适配Spark环境)

因为你是在搭载Spark的平台运行,也可以直接用Spark的textFile接口读取文件,完全不会调用Python原生的open()方法:

# sc为已初始化的SparkContext对象,平台一般会默认创建好无需手动初始化
lines_rdd = sc.textFile("file.txt")
# 逐行处理拆分、去除引号和空格,最后转换为本地列表
mylist = lines_rdd.map(
    lambda line: [item.strip().strip("'") for item in line.split("|")]
).collect()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 12:54:02