【发布时间】:2020-08-03 20:33:18
【问题描述】:
我需要帮助将所有行从简单的 .txt 文件转换为 JSON。我正在尝试使用 pandas 库将 .txt 转换为 .csv,然后将 .csv 转换为 JSON。但是,我无法从输出 JSON 中的原始 .txt 文件中捕获所有行。
这是文件(data.txt),逐行列出:
Images
Median of 100 points per image
Dataset
76 out of 77 images calibrated (98%), all images enabled
Camera Optimization
0.60% difference in initial and optimized camera parameters
Matches
Median of 1000 matches per image
Georeferencing
Yes, 3D GCP
这是我试图用来将 .txt 转换为 .csv 的代码:
import csv
with open('C:\\Users\\mdl518\\Desktop\\image_metadata.txt', 'r') as in_file:
stripped = (line.strip() for line in in_file)
lines = (line.split(",") for line in stripped if line)
with open('C:\\Users\\mdl518\\Desktop\\image_metadata.csv', 'w') as out_file:
writer = csv.writer(out_file)
writer.writerows(lines)
我必须注意,文本以逗号 (,) 分隔的行列在 .csv 中的两个单独单元格中,但是当我尝试将 CSV 写入 JSON 时,这些特定行会从 JSON 文件中省略。这是我用来尝试从 .csv 转换为 JSON 的代码。
import pandas as pd
df=pd.read_csv("C:\\Users\\mdl518\\Desktop\\image_metadata.csv", header=None, error_bad_lines=False, encoding='utf-8')
df.to_json("C:\\Users\\mdl518\\Desktop\\image_metadata.json", orient="table")
对于输出 JSON,我并不太关心索引名称(甚至 n0、n1 等标签都是可以接受的)——我只需要能够用逗号捕获 .txt/.csv 的行分离输出 JSON 中的文本,非常感谢任何帮助!
【问题讨论】:
标签: pandas csv encoding automation missing-data