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

Python读取制表符分隔文件生成列表出错,输出仅显示首字符求助

问题分析与修复

你的问题核心在于没有把分割后的结果重新赋值给变量x,导致添加到列表k里的还是原始的整行字符串,而非分割后的列表。咱们一步步拆解问题:

错误点详解

  1. 你写了x.strip().strip("").split("\t"),但这行代码仅执行了分割操作,却没有把分割得到的列表赋值回x。所以x依然是读取到的整行文本(比如第一行是完整的neurovaultcols_050817 1073字符串)。
  2. 当你把x添加到k后,k里的每个元素都是字符串类型,而非列表。此时b[0]取的是字符串的第一个字符,自然会输出n。

修正后的代码

repo_dataset = open("G:\\My Drive\\single.txt")
k = []
for x in repo_dataset:
    # 将分割后的列表重新赋值给x,替换原始字符串
    x = x.strip().split("\t")  # strip("")是多余的,strip()默认会去除首尾空白字符
    k.append(x)
repo_dataset.close()  # 记得关闭文件,避免资源泄漏

for b in k:
    print(b[0])  # 现在会输出neurovaultcols_050817
    print(b[1])  # 输出1073、1606

更推荐用with语句自动管理文件(无需手动关闭),代码更安全简洁:

k = []
with open("G:\\My Drive\\single.txt") as repo_dataset:
    for x in repo_dataset:
        x = x.strip().split("\t")
        k.append(x)

for b in k:
    print(b[0])
    print(b[1])

额外提醒

如果你的文件内容实际是空格分隔而非制表符,把split("\t")改成split()(不带参数的split会自动分割任意空白,包括空格、制表符、换行符等)会更稳妥。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 07:05:33