版权声明:喜欢就点个赞吧,有啥疑问可以留言交流~ https://blog.csdn.net/m0_38015368/article/details/89354733
问题
纯文本文件 student.txt为学生信息, 里面的内容(包括花括号)如下所示:
{
"1":["张三",150,120,100],
"2":["李四",90,99,95],
"3":["王五",60,66,68]
}
请将上述内容写到 student.xls 文件中,如下图所示
代码
import json
import xlwt
def get_data(path):
try:
with open(path, 'r') as f:
return json.load(f)
except:
return ''
def save_xls(data, path):
# 创建工作簿
workbook = xlwt.Workbook(encoding='utf-8')
# 创建 Sheet
worsheet = workbook.add_sheet('studnet')
for row, key in enumerate(data):
worsheet.write(row, 0, key)
for col, value in enumerate(data[key]):
worsheet.write(row, col + 1, value)
workbook.save(path)
if __name__ == '__main__':
path = './res/student.txt'
new_path = 'student.xls'
data = get_data(path)
# print(data)
save_xls(data, new_path)
总结
关于 json
处理在文件内的 json 函数不带s,处理 Python 变量中的 json 数据带s,即:
# 处理文件时
with open('data.json', 'w') as f:
json.dump(data,f) # 写文件
with oepn('data.json', 'f') as f:
data = json.load(f) # 读文件
# 处理 Python 变量中的 json 数据
json_str = json.dumps(data) # 返回字符串
data = json.loads(json_str) # 返回 Python 变量(dict or list )
可以利用 json.load(f)
读取文件中的列表、字典 :
# dict.txt:
{
"1" : "上海",
"2" : "北京",
"3" : "成都"
}
# list.txt
[
[1, 82, 65535],
[20, 90, 13],
[26, 809, 1024]
]
关于 xls
xls 文件创建步骤:
- 创建工作簿
workbook = xlwt.Workbook(encoding='utf-8')
- 创建任意 Sheet
worksheet = workbook.add_sheet(sheet_name)
- 向Sheet 中写数据
worksheet.write(row, col, data)
- 保存工作簿
workbook.save(workbook_name)