我正在尝试从Json文件中打印标签。我的程序目前仅打印最后一个json文件。
我正在尝试在运行程序时在json文件中打印名称。这就是我到目前为止所得到的
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 :
答案 0 :(得分:1)
此问题与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'], ":")
请注意第一个print
在循环{上方}(在相同缩进级别)在for
循环中,而第二个print
在“内部”(缩进并在下方) for
循环?这意味着第一条print
语句将执行一次以提供标题,而第二条print
语句将针对inventoryFileNames
中的每个项目执行。
如果保持该结构,则可以放回input
命令。问问自己-您是否想input
一次(如果要放在for
循环之外)还是inventoryFileNames
中的每个项目(如果要放在for
循环中)?