以下是序列化数据为JSON或CSV的完整攻略:
序列化数据为JSON
- 导入 json 库
python
import json
- 准备要序列化为 JSON 的数据
比如有一个字典,包含了 name、age、gender 三个key,每个key对应一个value。可以创建如下字典数据:
python
person = {
"name": "Tom",
"age": 30,
"gender": "male"
}
- 实现序列化
使用 json.dumps() 函数来将 python 中的数据(比如字典、列表等)编码成 JSON 格式的字符串。
python
json_str = json.dumps(person)
此时,json_str 的值为 ‘{“name”: “Tom”, “age”: 30, “gender”: “male”}’
- 将 JSON 字符串转换为 python 对象
使用 json.loads() 函数来将 JSON 格式的字符串解码为 python 对象。
python
python_obj = json.loads(json_str)
此时,python_obj 的值为 {‘name’: ‘Tom’, ‘age’: 30, ‘gender’: ‘male’}
序列化数据为CSV
- 导入 csv 库
python
import csv
- 准备要写入 CSV 文件的数据
例如有一个包含学生信息的列表,每个元素是一个字典,包含了name, age, gender三个key,每个key对应一个value。可以创建如下列表数据:
python
students = [
{"name": "Tom", "age": 18, "gender": "male"},
{"name": "Lucy", "age": 20, "gender": "female"},
{"name": "Mike", "age": 19, "gender": "male"}
]
- 实现写入 CSV 文件
可以使用 csv.writer() 函数来实现写入 CSV 文件的操作。
““python
with open(‘students.csv’, ‘w’, newline=”) as csvfile:
writer = csv.writer(csvfile, dialect=’excel’)
# 写入表头
writer.writerow(['name', 'age', 'gender'])
# 写入数据
for student in students:
writer.writerow([student['name'], student['age'], student['gender']])
““
运行后,会在当前目录下生成一个名为“students.csv”的文件,文件内容为:
name,age,gender
Tom,18,male
Lucy,20,female
Mike,19,male
- 读取 CSV 文件
可以使用 csv.reader() 函数来实现读取 CSV 文件的操作。
““python
with open(‘students.csv’, ‘r’, newline=”) as csvfile:
reader = csv.reader(csvfile)
# 跳过表头
next(reader)
# 读取数据
for row in reader:
print(row)
““
运行后,会输出以下内容:
['Tom', '18', 'male']
['Lucy', '20', 'female']
['Mike', '19', 'male']
以上就是Python序列化数据为JSON或CSV的完整攻略,示例代码已经给出,如果有任何问题,请随时咨询。