使用pandas包,可以同时处理xls和xlsx两种excel文件。
一.基本概念
- excel文件打开之后,该文件叫工作簿(workbook)。
- 每个工作簿中包含多张表单(worksheet),正在操作的表单被成为活跃的表单(active worksheet)。
- 每一张表单中,有行(row),列(column)。行号:1,2,3;列号A,B,C。
- 特定的行和列构成单元格(cell)
- 表单中还会含有索引(index)
二.内容
1.创建文件
A.创建空表格
import pandas as pd
#创建表格,dataframe()空括号表示创建的是空表格
#dataframe为数据帧
df=pd.DataFrame()
#保存路径
df.to_excel('D:/output.xlsx')
print('Done!')
B.创建非空表格
import pandas as pd
#创建表格,dataframe()空括号表示创建的是空表格
#dataframe为数据帧
df=pd.DataFrame({
'ID':[1,2,3],'NAME':['Wang','Zhang','Lee']})
#保存路径
df.to_excel('D:/output.xlsx')
print('Done!')
效果:
前面多出来的这一列为dataframe的索引,因为我们没有给他指定索引,所以其自动生成。如果我们想要拿ID这一列做索引,则:
import pandas as pd
#创建表格,dataframe()空括号表示创建的是空表格
#dataframe为数据帧
df=pd.DataFrame({
'ID':[1,2,3],'NAME':['Wang','Zhang','Lee']})
df=df.set_index('ID')
#保存路径
df.to_excel('D:/output.xlsx')
print('Done!')
2.读取文件
【演示文件情况】
该文件内容全为虚构,没有任何含义,仅作演示使用
共三个sheet:sheet1、sheet2、sheet3
其中(不包含标题行):
sheet1——(5,2)、sheet2——(6,4)、sheet3——(7,3)
A.读取整个表格
(1)读取有多个sheet的excel
- pandas读取的常用格式pd.read_excel(file, sheet_name),其中sheetname可以使用数字进行替代,从0开始,默认为0
- pandas写入的格式为data.to_excel(‘filename’,sheet_name=‘A’)
import pandas as pd
import pandas as pd
path = 'D:\python学习\表格/people.xlsx'
#读取数据,设置None可以生成一个字典,字典中的key值即为sheet名字
#此时使用DataFram,会报错
data = pd.read_excel(path,None)
print(data.keys())#查看sheet的名字
for sh_name in data.keys():
print('sheet名字:',sh_name)
#获得每一个sheet中的内容
sh_data = pd.DataFrame(pd.read_excel(path,sh_name))
print(sh_data)
结果:
(2).title在首行
表格样式(sheet1):
import pandas as pd
people=pd.read_excel('D:/people.xlsx')#读取文件
prin