import pandas as pd
#excel文件和pandas的交互读写,主要使用到pandas中的两个函数,一个是pd.ExcelFile函数,一个是to_excel函数
#使用pandas读取excel文件
file=pd.ExcelFile('lalla.xls')
#显示所有的sheet的名字
print(file.sheet_names)
#显示第1个的sheet的名字
print(file.sheet_names[0])
#读取第1个的sheet的内容,并打印
table_df=file.parse(file.sheet_names[0])
table_df=file.parse(1)
print(table_df)
#查看sheet有几行几列
print("行数",table_df.shape[0],"列数",table_df.shape[1])
#查看所有列(某一列)
# #从df中提取两列生成新的DataFram
df_new = pd.DataFrame(table_df,columns=[list(table_df.columns)[1],list(table_df.columns)[2]])
print(df_new)
#所有表
print(table_df)
#表内某一列的数据
print(table_df[table_df.columns[0]])
#表内某单元格内的数据:第一个为列名,第二个为行名
print(table_df[table_df.columns[0]][0])
#表内读取某一行,0代表第一行,1代表第二行,如此类推
print(table_df.iloc[0],'\n')
#表内读取某一行,loc里面对应的行名填行的具体的名字,和上面的iloc功能一样
print(table_df.loc["姓名"],'\n')
#获取列后,也是可以通过iloc和loc来获取行数据的
print(table_df['姓名'].iloc[2])
print(table_df['姓名'].loc['丙'],'\n')
# 通过列和行的默认索引来定位数据,先是行,再是列,下面是数据的第一行,第二列的数据
print(table_df.iat[0,1],'\n')
# #excel文件的写出
import numpy as np
data = pd.DataFrame(np.zeros((2,3)))
#两种方法,前提:data是dataframe类型的
writer = pd.ExcelWriter("abc.xlsx")
data.to_excel(excel_writer=writer,sheet_name="a",index=True,header=["21312","3123213","42314"])
data.to_excel(excel_writer=writer,sheet_name="b",index=False,header=True)
# pd.DataFrame(data).to_excel("abc.xlsx",sheet_name="123",index=False,header=True)
writer.save()
writer.close()