python
Posted ~小疯子~
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python相关的知识,希望对你有一定的参考价值。
python读取jsonlines文件
1. 读取jsonlines文件
ps:
这里为了拿到下面的album_Id后面的值,需要读取jsonlines文件,数据是在客户端请求接口后返回的数据,并存成了jsonlines文件,需要验证返回的数据是否符合结果,解析文件,json lines文件是一种便于存储结构化数据的格式,可以一次处理一条记录。可以用作日志文件或者其他。每条json数据之间存在一个"\\n"分隔符, 需要解析其中的文件,我按照网上的方法读取jsonlines文件时老出现问题,报错,简单粗暴的使用了以下的方法。
文件格式以及内容:
import jsonlines
import json
import re
ll = []
with open("./data/result.jsonline", "r+", encoding="utf8") as f:
for i in f.readlines():
ll.append(i)
print(ll)
# ll返回一个列表,列表中是字符串,将list转化为列表,然后提取其中的album_id数据,这里使用了正则表达式
ss = pd.DataFrame(ll)
ss[1] = ss[0].apply(lambda x:re.findall(r'\\b\\d1,\\b',x)[:10])
[len(i) for i in ss[1]]
ss[3] = ss[1].apply(lambda x: len(set(x)))
ss.head()
ss结果:
拿到数据之后对返回值合并:
from itertools import chain
# 拿到所有album_id,也就是ss[1]
dggg = ss[1].to_list()
c=list(chain(*dggg))
# c就是所有的album_id,是一个大列表
ffc = set(c)
以上是关于python的主要内容,如果未能解决你的问题,请参考以下文章