由于之前对Python有一些了解,因此这个学习笔记并不是学习顺序,而是工作中需要用到的技术的记录。
工作中需要记录一大组数据,因此需要将其保存起来,我就想到了比较常见的excel。
保存到excel的一大好处就是,哪怕不用python也可以打开操作和阅读。
我用的是openpyxl进行操作,通过终端输入pip install openpyxl就可以安装。
一、导入openpyxl
from openpyxl import Workbook, load_workbook
from openpyxl.utils.dataframe import dataframe_to_rows
二、打开已存在的Excel文件或者创建新的Excel文件
# 创建新的Excel工作簿
wb = Workbook()
# 读取已存在的Excel工作簿
wb = load_workbook(filename)
# 保存工作簿
wb.save(filename)
三、增加或者删除工作表
# 给工作簿wb增加新的工作表
sheet1 = wb.create_sheet('sheet1',0)
sheet2 = wb.create_sheet('sheet2',1)
# 删除已存在的工作表
ref = wb['sheet']
wb.remove(ref)
四、将pandas的DataFrame格式写入Excel
# 写入数据前,要先激活工作簿的工作表
active = wb['sheet1']
# 将dataframe写入工作表中
for x in dataframe_to_rows(dataframe):
active.append(x)
# 保存
wb.save(filepath)
五、附录:np.array 转化为 pandas.DataFrame的方法
from pandas import DataFrame
#将array数组转换成DataFrame的形式
data_frame = DataFrame(data_array, index=None, columns = ['a','b','c','d'])
六、完整的存储实验数据的代码
import numpy as np
from pandas import DataFrame
from openpyxl import Workbook
from openpyxl.utils.dataframe import dataframe_to_rows
# 设置随机数作为数据来源
data = np.random.randint(0, 10, size=(5, 8))
# 数据类型转换为dataframe
data_frame = DataFrame(data, index=['a','b','c','d','e'],
columns=[1, 2, 3, 4, 5, 6, 7, 8])
# 创建工作簿,写入,并保存
wb = Workbook()
ws = wb.active
ws.title = 'Random data' # 工作表名字
for x in dataframe_to_rows(data_frame):
ws.append(x)
wb.save('data_file.xlsx')
结果如下图所示