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

列表转DataFrame异常:仅识别两列,如何解决?

解决列表转DataFrame时列数异常的问题

看起来你的dataInList格式存在语法问题——每个子列表的第一个元素其实是把本该独立的多个字段(时间戳、类型、标识等)错误地合并成了一个带引号、逗号的长字符串,导致Pandas解析时把每个子列表识别成只有2个元素,最终生成的DataFrame只有2列。

下面是具体的修复步骤:

步骤1:清理列表数据

先写一个清理函数,把每个子列表里的混乱字段拆分并格式化:

import pandas as pd

def clean_sublist(sublist):
    # 处理第一个长字符串:去掉首尾引号,按', '拆分,再清理每个字段的多余字符(制表符、换行、引号)
    first_segment = sublist[0].strip("'\"").split("', '")
    cleaned_first = [field.strip("\t\n'\" ") for field in first_segment]
    # 处理最后一个数值字段:清理换行和多余空格
    cleaned_last = [sublist[-1].strip("\n ")]
    # 合并成完整的5个字段
    return cleaned_first + cleaned_last

步骤2:处理整个列表并生成DataFrame

用上面的函数遍历整个列表,再转换为DataFrame(可以指定列名让结果更清晰):

# 处理原始列表
cleaned_data = [clean_sublist(item) for item in dataInList]

# 生成DataFrame,指定列名
df = pd.DataFrame(cleaned_data, columns=["Timestamp", "Type", "Code", "Label", "Value"])

效果验证

处理后,每个子列表会被解析成5个独立的字段,比如第一个子列表会变成:

["2018-05-15 15:35:57", "A", "xtre", "retle", "105.0 (C)"]

此时生成的DataFrame就会有5列,完全符合你的预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:56:17