在Python中,没有使用Json和Pandas定义NameError
试图从JSON文件中提取字符串后的特定行,以JSON格式追加数据,然后发送到Dataframe,这是可行的,但现在不行。有人知道我为什么会出现姓名错误吗 z=json.loads(行) 名称错误:未定义名称“行”在Python中,没有使用Json和Pandas定义NameError,python,json,pandas,dataframe,nameerror,Python,Json,Pandas,Dataframe,Nameerror,试图从JSON文件中提取字符串后的特定行,以JSON格式追加数据,然后发送到Dataframe,这是可行的,但现在不行。有人知道我为什么会出现姓名错误吗 z=json.loads(行) 名称错误:未定义名称“行” 当前,您的for循环从fileinput.input(directory+“/”+t+“\u type.json”,inplace=True)中获取每个项,并将其放入变量行。但是,此变量仅在for循环中定义,因此一旦程序离开循环,就不再定义它 根据您希望程序如何运行,您有两种解决方案,
当前,您的
for
循环从fileinput.input(directory+“/”+t+“\u type.json”,inplace=True)中获取每个项
,并将其放入变量行
。但是,此变量仅在for
循环中定义,因此一旦程序离开循环,就不再定义它根据您希望程序如何运行,您有两种解决方案,但它们的工作原理基本相同,您只需选择要执行的内容和时间:
对于枚举中的i、ip(p):
t=ip.替换('/','')
directory=dir+t
发现=错误
对于fileinput.input(目录+“/”+t+“_type.json”,inplace=True)中的行:
如果重新匹配(“{”p',行):
找到=真
如果发现:
打印(第行,结束=“”)
#在此基础上,我们添加了两级缩进以执行
#如果找到,则代码为true
y={“p”:“示例”}
z=json.loads(行)
z、 更新(y)
q=json.dumps(z)
df=pd.read_json(q)
对于df.groupby中的i,g([
“苹果”,
“班纳纳”
]):
印刷品(g)
或
对于枚举中的i、ip(p):
t=ip.替换('/','')
directory=dir+t
发现=错误
对于fileinput.input(目录+“/”+t+“_type.json”,inplace=True)中的行:
如果重新匹配(“{”p',行):
找到=真
如果发现:
打印(第行,结束=“”)
#在此基础上,我们添加1级缩进以执行
#循环每次迭代的代码
y={“p”:“示例”}
z=json.loads(行)
z、 更新(y)
q=json.dumps(z)
df=pd.read_json(q)
对于df.groupby中的i,g([
“苹果”,
“班纳纳”
]):
印刷品(g)
我希望您会觉得这很有帮助您需要缩进行
z=json.loads(line)
注意它是如何超出for循环的范围的谢谢,是的,除了df.groupby([”)中的“for I,g”之外,它是所有行的缩进,不知道它为什么会更改,但它似乎再次工作。
import fileinput, re, json
import pandas as pd
p = [
"Test/a",
"Test/b"
]
dir = "/home/****/"
for i,ip in enumerate(p):
t = ip.replace('/', '')
directory = dir + t
found = False
for line in fileinput.input(directory + "/" + t +"_type.json",inplace=True):
if re.match('{"p',line):
found = True
if found:
print(line,end="")
y = {"p":"example"}
z = json.loads(line)
z.update(y)
q = json.dumps(z)
df = pd.read_json(q)
for i, g in df.groupby([
"Apple",
"Bannana"
]):
print(g)