Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中,没有使用Json和Pandas定义NameError_Python_Json_Pandas_Dataframe_Nameerror - Fatal编程技术网

在Python中,没有使用Json和Pandas定义NameError

在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循环中定义,因此一旦程序离开循环,就不再定义它 根据您希望程序如何运行,您有两种解决方案,

试图从JSON文件中提取字符串后的特定行,以JSON格式追加数据,然后发送到Dataframe,这是可行的,但现在不行。有人知道我为什么会出现姓名错误吗

z=json.loads(行) 名称错误:未定义名称“行”


当前,您的
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)