Python 从json打印
我正在尝试从Json文件打印标签。我的程序目前只打印最后一个json文件 当我运行程序时,我试图在json文件中打印出名称。这就是我目前得到的Python 从json打印,python,json,Python,Json,我正在尝试从Json文件打印标签。我的程序目前只打印最后一个json文件 当我运行程序时,我试图在json文件中打印出名称。这就是我目前得到的 inventoryFileNames = ["REID_1F_20171004.json", "REID_2F_20171004.json", "REID_3F_20171004.json"] itemNameToInventoryItem = {} for inventoryFileName in inventoryFileNames: i
inventoryFileNames = ["REID_1F_20171004.json", "REID_2F_20171004.json", "REID_3F_20171004.json"]
itemNameToInventoryItem = {}
for inventoryFileName in inventoryFileNames:
inventoryFile = open( inventoryFileName, 'r' )
inventoryData = json.loads( inventoryFile.read() )
while sortChoice != 'q':
MachineSTock = input('Would you like the (m) machine report or the (i)inventory report?:')
if MachineSTock == 'm':
inventoryFile = open( inventoryFileName, 'r' )
inventoryData = json.loads( inventoryFile.read() )
print('Label Pct Sold Sales ' )
print (inventoryData['machine_label'], ":")
我希望它能打印出来:
Label
REID_1F :
REID_2F :
REID_3F :
这个问题与json无关。如果要循环所有文件并打印每个文件中的内容,则
print
语句需要位于for
循环中
试试这个。我已经删除了一些与你的问题无关的方面
inventoryFileNames = ["REID_1F_20171004.json", "REID_2F_20171004.json", "REID_3F_20171004.json"]
itemNameToInventoryItem = {}
print('Label Pct Sold Sales ' )
for inventoryFileName in inventoryFileNames:
inventoryFile = open( inventoryFileName, 'r' )
inventoryData = json.loads( inventoryFile.read() )
print (inventoryData['machine_label'], ":")
请注意,第一个打印
在for
循环的“外部”(在同一缩进级别上)和第二个打印
现在在for
循环的“内部”(缩进和缩进)?这意味着第一个print
语句将执行一次以提供标题,而第二个print
语句将对inventoryFileNames
中的每个项目执行
如果保持该结构,则可以将
输入
命令放回。只要问问你自己-你想输入一次吗(如果是这样的话,把它放在for
循环之外),还是想输入inventoryFileNames
中的每个项目(如果是这样的话,把它放在for
循环之内)?你是在循环中定义inventoryFileNames,循环通过inventoryFileNames中的元素。这将产生一个错误,因为当'for'语句引用InventoryFileName时未定义它。您确定提供了正确的代码吗?Idef main():inventoryFileNames=[“REID_1F_20171004.json”,“REID_2F_20171004.json”,“REID_3F_20171004.json”]itemNameToInventoryItem={}而sortChoice!='问:MachineSTock=input('您想要(m)机器报告还是(i)库存报告?:')##############################好的,下面是q':MachineSTock=input('您想要(m)机器报告还是(i)库存报告?:')如果MachineSTock='m':inventoryFile=open(inventoryFileName,'r')inventoryData=json.loads(inventoryFile.read())打印('Label Pct Seld Sales')打印(库存数据['machine_Label'],“:”)机器标签打印出上面3个名称中的1个为loop定义inventoryFileNames它只打印最后一个json文件,因为在文件读取循环中,您将inventoryData
分配给当前文件的内容,这会丢弃inventoryData
的先前值。Heath……你真是疯了!!!!马上修复!!!!我是新来的代码,我总是做东西落后。我有元素在那里,但我的命令总是顶起来。我在学习。谢谢家伙!!!