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

读取超大文本文件至Jupyter Notebook时无法拆分列的求助

解决方案
  • 先确认文件的实际分隔符
    有时候看起来像制表符的分隔,实际是多个连续空格。可以先读取前几行原始内容,查看真实的分隔方式:

    with open('41586_2022_4496_MOESM3_ESM.txt', 'r') as f:
        for _ in range(3):
            print(repr(f.readline()))
    

    输出里如果看到多个空格(比如'1 331.581577 -1.512106 ...'),说明分隔符是任意数量的空白符。

  • 用正则匹配空白符拆分列
    把sep参数改成\s+(匹配任意数量的空格/制表符),同时处理大文件可以用chunksize分批读取避免内存溢出:

    import pandas as pd
    
    # 解决大文件内存问题:分批读取
    chunk_generator = pd.read_csv(
        '41586_2022_4496_MOESM3_ESM.txt',
        sep='\s+',
        skip_blank_lines=True,
        header=None,  # 如果文件没有表头,添加这个参数
        chunksize=10000  # 每批读1万行,可根据内存调整
    )
    
    # 先查看第一批数据的列拆分情况
    first_chunk = next(chunk_generator)
    print(first_chunk.head())
    
  • 修复Jupyter的内容截断问题
    你看到的...是pandas默认截断长内容导致的,设置全局显示选项就能看到完整数据:

    pd.set_option('display.max_columns', None)
    pd.set_option('display.max_colwidth', None)
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 23:52:51