python实现小数据提取器及其知识点

使用python实现了从一个文件里提出需要的字段内容,话不多说~记录一下今天的小小知识点。

原数据形式大概为{“viewNum”:25.0,“printNum”:0.0,“totalNum”: ***,“displayName”:“production”,“tname”:"***/****/production.***",“exportNum”:26.0}
{“viewNum”: ***,“printNum”:0.0,“totalNum”: **,“displayName”:"***",“tname”:"***/****/wip.***",“exportNum”: ****}
(以脱敏处理)

import pandas as pd
import numpy as np
# 此处将.log文件改了后缀名改为.csv
f=open('2021-01-08-10_21_34的副本.csv', encoding = 'utf-8')
content = f.readlines()

将文件按行读出来,并自动存入列表里。
格式如:[’{}\n’,’{}’…]
此时需要进行几个操作:
1、去掉换行符
2、将字符串里的字典解析出来

去掉换行符

content_1 = []
for i in content:
	content_1.append(i.replace('\n',''))

将字符串里的字典解析出来,想使用eval()的方法,但由于原数据里有null,json识别不了null(因为在python里没有null,也没有NULL,只有None来表示空值,所以报错)
报错显示

name ‘null’ is not defined

此时我们可以将所有的null重新定义

global null
null = ''

# 然后进行解析操作eval
content_2 = []
for i in content_1:
    content_2.append(eval(i))
content_2

最后遍历所有字典,将需要的value提取出来

total = []
for dic in content_2:
	key_A = dic[keyA]
	key_B = dic[keyB]
	total.append([keyA, keyB])

大功告成!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值