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')

说明:

  1. pd.read_csv():用来加载 CSV 文件到 DataFrame 中。
  2. df.iterrows():遍历 DataFrame 的每一行。iterrows() 返回的是一个包含行索引和行数据的元组。
  3. row.to_dict():将每一行数据转换为字典格式。
  4. json.dump():将字典写入文件,使用 ensure_ascii=False 来避免中文乱码。
  5. 每写入一个 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 文件中。

你可能感兴趣的:(python工具备忘录,python,pandas,开发语言)