PySpark如何读取非换行分隔JSON文件为单行完整JSON字符串记录
处理非换行分隔JSON为单行JSON记录表格
针对你提到的非换行分隔格式的JSON(输入为{"key":"value1"},{"key":"value2"}),可以通过以下步骤将其转换为包含record列的表格,每行对应一个完整的JSON字符串:
核心思路
- 给原始JSON字符串添加外层数组包裹,使其成为合法的JSON数组格式;
- 解析JSON数组得到单个对象列表;
- 将每个对象重新序列化为JSON字符串;
- 整理为指定的表格格式。
Python实现示例
直接处理字符串
import json # 原始输入的JSON内容 raw_json_str = '{"key":"value1"},{"key":"value2"}' # 转换为合法的JSON数组 valid_json_str = f"[{raw_json_str}]" # 解析JSON数组 records = json.loads(valid_json_str) # 生成并打印表格 print("| record |") print("|--------|") for record in records: print(f"| {json.dumps(record)} |")
从文件读取处理
如果目标内容存储在文件中,可使用以下代码:
import json # 读取原始JSON文件 with open("target.json", "r") as input_file: raw_json_str = input_file.read().strip() # 转换为合法JSON数组并解析 valid_json_str = f"[{raw_json_str}]" records = json.loads(valid_json_str) # 生成表格并写入输出文件 with open("output_table.txt", "w") as output_file: output_file.write("| record |\n|--------|\n") for record in records: output_file.write(f"| {json.dumps(record)} |\n")
最终输出表格
| record |
|---|
| {"key": "value1"} |
| {"key": "value2"} |
内容的提问来源于stack exchange,提问作者JohnJonnyJohn
相关产品推荐
相关产品推荐

