【发布时间】:2021-11-27 13:33:22
【问题描述】:
我需要将 csv 文件转换为 json。在 csv 文件中,电子邮件由字符串中的管道(|)分隔。需要转换成列表。我能够转换成列表,但只有 1 封电子邮件输出。
以 csf 格式输入数据
first_name, last_name, email
"ABC","DEF","abc@gmail.com|def@gmail.com"
"CBA","FED","cba@gmail.com|fed@gmail.com"
json格式的预期输出数据
[
{
"first_name" : "ABC",
"last_name" : "DEF",
"email" : ["abc@gmail","def@gmail"]
}
{
"first_name" : "CBA",
"last_name" : "DEF",
"email" : ["abc@gmail","def@gmail"]
}
]
获取输出
[
{
"first_name" : "ABC",
"last_name" : "DEF",
"email" : ["abc@gmail"]
}
{
"first_name" : "CBA",
"last_name" : "DEF",
"email" : ["abc@gmail"]
}
]
代码尝试
df = pd.read_csv("filename")
df.Email = df.Email.str.split('|')
df1 = df.to_json("filename", orient='records')
【问题讨论】:
-
我用 pandas v1.0.5 试过了,你的代码按预期工作。你确定你已经包含了所有相关的代码吗?你检查过你的数据吗?
-
df.to_json() 需要将最终的数据帧写入json文件。
-
如果你有其他方法请告诉我
-
您的错误解决了吗?
-
它适用于我的相同代码。刚刚改了版本