如何将TXT文件中的JSON格式长字符串转为二维Pandas表格?
解决方法:直接解析JSON数组生成DataFrame
嘿,我来帮你搞定这个转换问题!你手里的这段长字符串其实是标准的JSON数组格式,完全不用纠结那些文本解析工具,用Pandas结合JSON解析就能一步到位生成你要的二维表格。
具体步骤和代码示例
你只需要做这三步:读取文件内容 → 解析JSON为Python列表 → 转换为DataFrame:
import json import pandas as pd # 第一步:读取txt文件里的完整字符串 with open('你的文件名.txt', 'r', encoding='utf-8') as file: json_content = file.read() # 第二步:把JSON字符串解析成Python字典组成的列表 parsed_data = json.loads(json_content) # 第三步:直接用Pandas生成表格 df = pd.DataFrame(parsed_data) # 查看结果 print(df)
运行这段代码后,你就能得到和目标样式一致的表格,不管VAL字段的长度是多少(哪怕是65000)都能正确识别,因为JSON解析会精准提取每个字典里的CAN和VAL键值对。
为什么之前的方法不适用?
pd.read_fwf:这个工具是专门处理固定宽度文本的,你的VAL长度不固定,自然没法匹配固定宽度规则,所以行不通。pd.read_csv:用逗号分隔的话,整个JSON数组会被当成一行数据,拆分出来的都是{"CAN":"xxx"这类片段,根本不是你需要的键值对结构,所以没法直接重塑成表格。
如果你的txt文件内容偶尔有多余的空格或换行,也可以在读取后先做个简单清理,比如json_content = json_content.strip(),再传给json.loads就行。
内容的提问来源于stack exchange,提问作者Sylvain
相关产品推荐
相关产品推荐

