如何拆分目标文件并转换为带对应列名的结构化列?
处理非标准JSON行文件并转换为结构化表格
处理步骤
- 预处理文件内容,将无引号键的非标准JSON转换为合法JSON格式
- 逐行解析每个对象为字典
- 将字典集合转换为带列名的结构化表格
- 输出结果或保存为CSV格式
代码实现(Python)
import re import json import pandas as pd # 读取目标文件 with open('sensor_data.txt', 'r') as f: raw_content = f.read() # 分割为单个数据对象行,清理末尾逗号与空行 data_lines = [line.strip().rstrip(',') for line in raw_content.split('\n') if line.strip()] # 正则匹配无引号的键,替换为带双引号的合法JSON键 key_pattern = re.compile(r'(\w+):') valid_json_lines = [key_pattern.sub(r'"\1":', line) for line in data_lines] # 解析每行JSON为字典 parsed_data = [json.loads(line) for line in valid_json_lines] # 转换为带列名的DataFrame df = pd.DataFrame(parsed_data) # 打印前几行预览结果 print(df.head()) # 保存为CSV文件(可选) df.to_csv('structured_sensor_data.csv', index=False)
说明
- 将代码中的
sensor_data.txt替换为你的实际文件名 - 所有原对象中的键会自动成为表格的列名,对应行的数据会填充到对应列中
- 数组/矩阵类型的字段(如
orientQuaternion、orientMatrix)会保留原格式存储
内容的提问来源于stack exchange,提问作者Asish K Sasidharan
相关产品推荐
相关产品推荐

