python 利用pandas实现从CSV导出并格式化后写入.jsonl文件
你可以使用 pandas
库来读取 CSV 文件,然后通过一些格式化操作将数据转换为 JSONL 格式并写入文件。JSONL(JSON Lines)格式是一种每行一个 JSON 对象的文件格式。
下面是一个示例,演示了如何使用 pandas
读取 CSV 文件,处理数据并将其导出到 JSONL 文件中:
示例代码:
import pandas as pd
import json
# 读取CSV文件
df = pd.read_csv('data.csv')
# 打开JSONL文件,逐行写入格式化后的数据
with open('data.jsonl', 'w', encoding='utf-8') as jsonl_file:
for index, row in df.iterrows():
# 将每一行转换为字典
row_dict = row.to_dict()
# 将字典格式化为JSON字符串并写入文件
json.dump(row_dict, jsonl_file, ensure_ascii=False)
# 写入换行符,以便每个JSON对象占一行
jsonl_file.write('\n')
说明:
pd.read_csv()
:用来加载 CSV 文件到 DataFrame 中。df.iterrows()
:遍历 DataFrame 的每一行。iterrows()
返回的是一个包含行索引和行数据的元组。row.to_dict()
:将每一行数据转换为字典格式。json.dump()
:将字典写入文件,使用ensure_ascii=False
来避免中文乱码。- 每写入一个 JSON 对象后,通过
jsonl_file.write('\n')
添加换行符,确保每个 JSON 对象占一行。
CSV 示例:
假设你的 data.csv
文件内容如下:
name,age,city
张三,25,北京
李四,30,上海
王五,28,广州
JSONL 输出:
{"name": "张三", "age": 25, "city": "北京"}
{"name": "李四", "age": 30, "city": "上海"}
{"name": "王五", "age": 28, "city": "广州"}
这样,CSV 文件的数据就成功转换为 JSONL 格式并写入了 data.jsonl
文件中。