使用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])
大功告成!