panda处理Excel文件代码(汇总)

江恩
2023-12-01

 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()

 

 类似资料: