python关于csv、json、excel的处理
csv
读取:reader = csv.reader(打开的file对象), reader为可迭代对象,可以用for循环遍历他
读取到字典表:reader = csv.DictReader(f),reader也是可迭代对象,可以用for循环遍历他
写入:writer = csv.write(f)
writer.writerow(header) # header为属性列表
writer.writerows(rows)
以字典形式写入:
writer = csv.DictWriter(f, headers)
writer.writeheader()
writer.writerows(rows)
json
json是一种应用广泛的数据交换格式,python中可以对其进行处理
json类型和python类型的转化主要是dumps和loads类的方法
json本质是一种字符串,在python中不方便处理得到其中键的值,转换成字典就比较方便
import json
stu={'姓名':'Tom',
'年龄':15,
'分数':80}
json_stu=json.dumps(stu)
print(json_stu)
print(json.loads(json_stu))
{"\u59d3\u540d": "Tom", "\u5e74\u9f84": 15, "\u5206\u6570": 80}
{'姓名': 'Tom', '年龄': 15, '分数': 80}
应该在dumps参数加上ensure_ascii=False,这样中文就不会以字节码的形式打印
转换成json类型的字符串
json.dumps()
从json字符串读取
json.loads()
后两个和前两个用法一样,只不过是多了个文件的参数
写json文件
json.dump(data,file)
读json文件
json.load(file)
json中的false为None
excel的相关模块
xlrd模块
读取excel文件
book = xlrd.open_workbook(file)
遍历文件中的工作簿
for sheet in book.sheets():
按下标找工作簿
book.sheet_by_index()
按名称找工作簿
book.sheet_by_name()
工作簿名
sheet.name
数据行数
sheet.nrows
获取索引指定的数据行
sheet.row_values(index)