创建Excel文件
import pandas as pd
from openpyxl import Workbook #为了正常保存excel文件,需导入此包
df=pd.DataFrame({'ID':[1,2,3],'Name':['Tim','Victor','Nick']})
df=df.set_index('ID')#设置自己的index,如果知道excel的ID,尽量这样操作
print(df)
df.to_excel('output.xlsx')#可以设置绝对路径
print('done!')
运行结果:
空的DataFrame()相当于空的work sheet
如果没有指定索引,结果如下:
读取Excel文件
import pandas as pd
import xlrd #正常读excel文件
people=pd.read_excel('people.xlsx')#自动生成索引
print(people.shape)#读取行列
#(19972, 6) #19972行,6列
print(people.columns)#列名
#Index(['ID', 'Type', 'Title', 'FirstName', 'MiddleName', 'LastName'], dtype='object')
people.head()#默认读取前五行,head()可添加参数,读取的行数
people.tail(3)#读取倒数三行
读取的异常情况
在excel第一行不是header的情况下
people=pd.read_excel('路径',header=1)#可读取到header,默认是0行,对应excel的第一行
#输出的excel的第二行(列名)
没有header的情况
people=pd.read_excel('people.xlsx',header=None)#不设置header
print(people.columns)
#输出的python自定义的列名:Int64Index([0, 1, 2, 3, 4, 5], dtype='int64')
设置header并将ID设为索引
people=pd.read_excel('People.xlsx',header=None)
people.columns=['ID','Type','Title','FirstName','MiddleName','LastName']#设置列名
print(people.columns)
people=people.set_index['ID']#代替原来的DataFrame,此时ID不再是列名中的了,而是index
#或者people.set_index('ID',inplace=True)
people.to_excel('People.xlsx')
print(people.columns)
Index([‘Type’, ‘Title’, ‘FirstName’, ‘MiddleName’, ‘LastName’], dtype=‘object’) ID不在列名里
参考链接:https://blog.csdn.net/weixin_42758462/article/details/88085146,谢谢博主