📜  从 json 文件中提取数据 python (1)

📅  最后修改于: 2023-12-03 15:06:31.678000             🧑  作者: Mango

从 JSON 文件中提取数据 Python

JSON是一种轻量级的数据交换格式,它易于阅读和编写,并且语法类似于Python中的字典和列表。在Python中,我们可以使用内置的json模块来读取和写入JSON数据。本文将介绍如何从JSON文件中提取数据并在Python中使用。

读取JSON文件

首先,我们需要使用Python的内置json模块读取JSON文件。假设我们有一个名为data.json的JSON文件,其内容如下:

{
  "name": "John",
  "age": 30,
  "city": "New York"
}

我们可以使用以下代码读取JSON文件并将其转换为Python字典:

import json

# 打开JSON文件
with open('data.json') as f:
    data = json.load(f)

# 打印JSON转换后的Python字典
print(data)

输出结果为:

{'name': 'John', 'age': 30, 'city': 'New York'}

现在我们已经成功读取了JSON文件并将其转换为Python字典对象。

访问JSON数据

接下来,我们可以通过Python字典对象中的键访问JSON数据。假设我们想要访问JSON对象中的“name”键,可以使用以下代码:

# 访问键'name'
name = data['name']
print(name)

输出结果为:

John

类似地,我们可以使用相同的语法访问“age”和“city”键:

# 访问键'age'
age = data['age']
print(age)

# 访问键'city'
city = data['city']
print(city)

以上代码将提取JSON文件中的“age”和“city”键,并将其赋值给变量age和city。

迭代JSON数组

JSON数据还可以包含数组。假设我们有一个名为data.json的JSON文件,其内容如下:

{
  "fruits": ["apple", "banana", "orange"],
  "people": [
    {"name": "John", "age": 30},
    {"name": "Lisa", "age": 25},
    {"name": "Bob", "age": 40}
  ]
}

我们可以使用以下代码读取JSON文件并将其转换为Python字典:

import json

# 打开JSON文件
with open('data.json') as f:
    data = json.load(f)

# 打印JSON转换后的Python字典
print(data)

输出结果为:

{'fruits': ['apple', 'banana', 'orange'], 'people': [{'name': 'John', 'age': 30}, {'name': 'Lisa', 'age': 25}, {'name': 'Bob', 'age': 40}]}

现在我们已经成功读取了JSON文件并将其转换为Python字典对象,接下来访问“fruits”和“people”数组:

# 访问键'fruits'
fruits = data['fruits']
print(fruits)

# 访问键'people'
people = data['people']
print(people)

我们可以看到,fruits和people都是Python列表对象,分别包含了JSON数组中的所有元素。接下来,我们可以使用Python循环迭代JSON数组中的每个元素:

# 迭代fruits列表
for fruit in fruits:
    print(fruit)

# 迭代people列表
for person in people:
    name = person['name']
    age = person['age']
    print(f'{name} is {age} years old.')

以上代码将分别迭代fruits列表和people列表,并输出它们的每个元素或键值对。

结论

在Python中从JSON文件中提取数据是一项重要的技能。通过使用Python的内置json模块,我们可以轻松地将JSON文件转换为Python字典或列表,并在Python中访问和迭代JSON数据。