1# 输出jsom
import json
data = [{
'name': 'Bob',
'gender': 'male',
'birthday': '1992-12-12'
}]
with open('data.json', 'w') as file:
file.write(json.dumps(data)) # 利用dumps()方法将json对象转化为字符串,然后再调用文本的write()方法写入文本
# 另外,如果想保存 JSON 的格式,可以再加一个参数 indent ,代表缩进字符个数 示例如下:
# with open('data1.json', 'w')as file:
# file.write(json.dumps(data, indent=2))
2# JSON 中包含中文字符
import json
data = [{
'name': '吴彦祖',
'gender': '男',
'birthday': '1992-12-12'
}]
# 为了输出中文,还需要指定参数 nsure ascii False ,另外还要规定文件输出的编码:
with open('data2.json', 'w', encoding='utf-8')as file:
file.write(json.dumps(data, indent=2, ensure_ascii=False))
3# csv 文件存储
import csv
with open('data.csv', 'w') as csvfile:
writer = csv.writer(csvfile)
writer.writerow(['id', 'name', 'age'])
writer.writerow(['10001', 'Mike', '20'])
writer.writerow(['10002', 'Bob', '21'])
writer.writerow(['10003', 'Jordan', '22'])
"""首先,打开 data .csv 文件,然后指定打开的模式为 (即写入),获得文件句柄,随后调用 csv库的
writer ()方法初始化写人对象,传入该句柄,然后调用 writerow ()方法传入每行的数据即可完成
写入"""
如果想修改列与列之间的分隔符,可以传入 delimiter 参数,其代码如下:
# 也可以调用 writerows ()方法同时写入多行, 此时参数就需要为二维列表.
import csv
with open('data1.csv', 'w') as csvfile:
writer = csv.writer(csvfile, delimiter=' ') # 如果想修改列与列之间的分隔符,可以传入 delimiter 参数
writer.writerow(['id', 'name', 'age'])
writer.writerow([['10001', 'Mike', '20'], ['10002', 'Bob', '21'], ['10003', 'Jordan', '22']])
4#CSV 库中字典的写入方式
import csv
with open('data2.csv', 'w') as csvfile:
fieldnames = ['id', 'name', 'age']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writerow({'id': '10001', 'name': 'Mike', 'age': 20})
writer.writerow({'id': '10002', 'name': 'Bob', 'age': 21})
writer.writerow({'id': '10003', 'name': 'Jordan', 'age': 22})
'''用 fieldnames表示,然后将其传给 DictWriter 来初始化一个字典写人对
象,接着可以调用writeheader()方法先写人头信息,然后再调用 writerow()方法传人相应字典即可'''