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

如何将含400篇论文信息的列表转换为Pandas DataFrame?

将自定义格式的论文列表转换为Pandas DataFrame

你可以通过数据清洗+逐块解析的方式把这些论文信息转换成Pandas DataFrame,具体步骤如下:

步骤1:完善数据读取与预处理

你现有的split("},")已经把每个论文块分开了,但需要清理每个块的冗余字符(比如开头的{、换行符、末尾的空格等),同时过滤掉空的块:

import pandas as pd

# 读取并分割数据
with open('data.txt', 'r', encoding='utf-8') as my_file:
    raw_data = my_file.read()

# 分割成单个论文块,清理空块
paper_blocks = [block.strip() for block in raw_data.split("},") if block.strip()]

步骤2:解析单个论文块为字典

每个论文块里的行都是key: value格式,我们需要把每行拆分成键值对,同时处理值的类型(字符串去掉引号,数字自动转换):

def parse_paper_block(block):
    paper_dict = {}
    # 按行分割,过滤空行
    lines = [line.strip() for line in block.split('\n') if line.strip()]
    for line in lines:
        # 分割键和值,注意处理值里可能含有的冒号(比如fabric字段)
        key_part, value_part = line.split(':', 1)
        key = key_part.strip()
        value = value_part.strip()
        
        # 处理字符串类型(去掉首尾引号)
        if value.startswith(('"', "'")) and value.endswith(('"', "'")):
            value = value[1:-1].strip()
        # 尝试转换为数字(整数/浮点数)
        else:
            try:
                if '.' in value:
                    value = float(value)
                else:
                    value = int(value)
            except ValueError:
                # 转换失败就保留原字符串
                pass
        paper_dict[key] = value
    return paper_dict

步骤3:批量解析并生成DataFrame

把所有论文块解析成字典列表,再直接转成DataFrame:

# 批量解析所有论文块
paper_dicts = [parse_paper_block(block) for block in paper_blocks]

# 转换为DataFrame
df = pd.DataFrame(paper_dicts)

# 可选:重命名列名(按需调整)
df = df.rename(columns={
    'title': 'Title',
    'author': '作者',
    'affiliation': '机构',
    'year': '年份',
    'publisher': '出版方',
    'url': '链接',
    'short': '会议缩写',
    'fabric': '工艺',
    'ee': '能效',
    'benchmark': '基准测试'
})

# 查看结果
print(df.head())

注意事项

  • 如果数据里存在缺失字段,Pandas会自动填充NaN,后续可通过df.fillna()统一处理。
  • 针对fabric这类值中包含冒号的字段,用split(':', 1)确保只分割第一个冒号,避免破坏字段值的完整性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 13:31:07