json.loads和eval 速度对比

json.loads和eval 速度对比

代码1

python 复制代码
import json
import time
import pandas as pd

data_sets = pd.read_pickle("val_token_id.pandas_pickle")
data_sets=[str(i) for i in data_sets]
start=time.time()
[json.loads(i) for i in data_sets]
print(time.time()-start)

start=time.time()
[eval(i) for i in data_sets]
print(time.time()-start)

结果图

代码2

python 复制代码
import json
import time
from multiprocessing import Process, Manager, freeze_support
import pandas as pd
from tqdm import tqdm
def json_loads_data(return_list,one_data):
    return_list+=[json.loads(i)  for i in tqdm(one_data)]

if __name__ == '__main__':
    freeze_support()
    data_sets = pd.read_pickle("val_token_id.pandas_pickle")
    data_sets = [str(i) for i in data_sets]

    start = time.time()
    data = Manager().list()
    num = 5
    p_list = []
    for i in range(0, len(data_sets), len(data_sets)//num):
        j = i + len(data_sets)//num
        p = Process(target=json_loads_data, args=(data, data_sets[i:j]))
        p.start()
        p_list.append(p)
    for p in p_list:
        p.join()

    print("multi_json_loads", time.time() - start)

    start = time.time()
    [json.loads(i) for i in data_sets]
    print("json_loads", time.time() - start)

    start = time.time()
    pd.DataFrame(data_sets)[0].apply(lambda x: json.loads(x)).values.tolist()
    print("dataFrame_apply", time.time() - start)

    start = time.time()
    json.loads(str(data_sets).replace("'", ""))
    print("json_loads_str", time.time() - start)

    start = time.time()
    [eval(i) for i in data_sets]
    print("eval", time.time() - start)

参考地址

https://blog.csdn.net/qq_35869630/article/details/105919104

Python 在大数据处理下的优化(一)用json.loads比eval快10倍!

相关推荐
小锋学长生活大爆炸1 小时前
【教程】Windows安全中心扫描设置排除文件
windows·安全·系统·扫描·病毒·安全中心
C++ 老炮儿的技术栈5 小时前
visual studio 2022更改主题为深色
c语言·开发语言·c++·ide·windows·git·visual studio
@Crazy Snail7 小时前
WPF数据绑定疑惑解答--(关于控件的Itemsource,Collection绑定)
windows·wpf·wpf数据绑定
会飞的土拨鼠呀10 小时前
windows使用命令行查看进程信息
windows
东方佑10 小时前
使用 FastMCP 实现 Word 文档与 JSON 数据互转的 Python 服务
python·json·word
JNU freshman11 小时前
windows 开发
windows·c#
不爱搬砖的码农12 小时前
使用 vscode 开发 uni-app 项目时如何解决 manifest.json 文件注释报错的问题
vscode·uni-app·json
BAGAE12 小时前
使用 Flutter 在 Windows 平台开发 Android 应用
android·大数据·数据结构·windows·python·flutter
chusheng184020 小时前
2025最新版!Windows Python3 超详细安装图文教程(支持 Python3 全版本)
windows·python·python3下载·python 安装教程·python3 安装教程
海天鹰21 小时前
C盘瘦身?
windows