最近学习了pandas,正好将前期学习的openpyxl和pandas结合起来处理数据。总体思路:
首先打开工作簿,读取工作表中的数据,将第一行单独读取作为字典Key,然后分别读取工作表中的列并转换为列表作为字典的值。
然后将数据通过DateFrame对象化实例。
具体怎么处理数据就不说了,可以搜索DateFrame的具体文档,按照自己的意图进行处理。
处理之后使用df.to_csv()导出数据。
#到入模块
import pandas as pd
from openpyxl import load_workbook,Workbook
#打开工作簿、工作表
wb = load_workbook('C:\\python\\电子表格.xlsx')
ws = wb.active
#获取最大行、最大列
max_rows = ws.max_row
max_cols = ws.max_column
#建立空字典、空列表用于存数据
ry_dc ={}
rows = []
#定义一个变量,用于列表元素循环
i = 0
#遍历第一行写入列表rows
for row in ws.iter_rows(min_row=1,max_row=1,min_col=1,max_col=max_cols,values_only=True):
rows = list(row)
#遍历从第二行开始的所有列,并将数据逐列写入字典ry_dc
for col in ws.iter_cols(min_row=2,max_row=max_rows,min_col=1,max_col=max_cols,values_only=True):
ry_dc[rows[i]] = list(col)
i += 1
#数据DataFrame对象处理
new_ry_dc = pd.DataFrame(ry_dc)
#将数据存入csv
new_ry_dc.to_csv("C:\\python\\新表格.csv")
整个过程中最主要的是将电子表格数据形成一个字典,然后再DataFrame。做好了这一步就可以用pandas作具体的数据分析了。
今天就到这里,下次说说我学习过程中具体如何分析数据。