Pandas处理excel自动化常用操作

读取excel

import pandas

pandas.read_excel(io,sheet_name = 0,header = 0,names = None,index_col = None,usecols = None,squeeze = False,dtype = None, ...)

行列index从0开始

io:字符串,文件的路径对象。

sheet_name:None、string、int、字符串列表或整数列表,默认为0。字符串用于工作表名称,整数用于零索引工作表位置,字符串列表或整数列表用于请求多个工作表,为None时获取所有工作表。

对应操作
sheet_name=0 第一张作为DataFrame
sheet_name=1 第二张作为DataFrame
sheet_name=“Sheet1” 第一张作DataFrame
sheet_name=[0,1,'Sheet5'] 第1页,第2页和第5页作为DataFrames的字典。

header:指定作为列名的行,默认0,即取第一行的值为列名。数据为列名行以下的数据;若数据不含列名,则设定 header = None。

names:默认为None,要使用的列名列表,如不包含标题行,应显示传递header=None

index_col:指定列为索引列,默认None列(0索引)用作DataFrame的行标签。

usecols:list,默认为None。

  • 如果为None则解析所有列
  • 如果为int列表则表示要解析的列号列表:[0,2,3,9]
  • 如果字符串则表示以逗号分隔的Excel列字母和列范围列表(例如“A:E”或“A,C,E:F”)。范围包括双方。

squeeze:boolean,默认为False,如果解析的数据只包含一列,则返回一个Series。

dtype:列的类型名称或字典,默认为None。数据或列的数据类型。例如{'a':np.float64,'b':np.int32}使用对象保存存储在Excel中的数据而不解释dtype。如果指定了转换器,则它们将应用于dtype转换的INSTEAD。

skiprows: 需要忽略的行数(从文件开始处算起),或需要跳过的行号列表(从0开始)

skipfooter: int, default 0 从文件尾部开始忽略。

head(): 取去除header的前5行数据

tail(): 取后5行数据

df["列名"]: 按列名取列数据

df[["列名1","列名2"]]: 按列名取列数据

df[0:3]: 取前三行数据,按行非index

df[-3:]: 取后三行数据,按行非index

df.列名1:获取列名1的数据

df.iloc[[1],[2]].values: 取单元格每二行,第三列的值,返回格式[[value]],从0起

df.iloc[i].values:返回第i+1行的数据,从0起

df.iloc[1:3].values:返回第二至四条数据,1,3为index,从0起

df.iloc[:,[1,2]]::表示所有行,返回第2,3列数据,从0起

df.iloc[0:3,3:]:表示索引0-3行,返回第4列与之后列的数据,从0起

df.loc[1].values:返回index为1的行

df.loc[1:3].values:返回第二至四条数据,1,3为index

df.loc[:,["列名1","列名2"]]::表示所有行,返回列数据

df.loc[0:3,"列名1":]:表示索引0-3行,返回列名1与之后列的数据

df.columns.get_loc("列名"):返回列索引值

df.pop("列名"):删除列

del df["列名"]:删除列

操作excel

pd.DataFrame(data,index,columns,dtype)

data: 可以为列表,如:["a","b","c"] ,[["abc",123],["dsf",343],["dkfs",90]]

          可以为字典,如:

data={
    "username": ["kate","mary","tom"],
    "age": [12,32,4]
}

或:

data={
    "username": pd.Series(["kate","mary","tom"]),
    "age": pd.Series([12,32,4])
}

username,age作为column

index: 可以为列表

columns:可以为列表

df.append(df1):合并两个表格数据,行操作

df.drop(0):删除一行,0为index

df.reindex(index=[0,1,2],columns=["a","b","c"]):重建索引,如索引已存在使用原索引,不存在则创建

df.rename(index={0:"index0",1:"index1",2:"index2"},columns={"a":"cola","b":"colb","c":"colc"}:重命名索引

按列打印整张表数据:

for key,value in df.iteritems():
    print(key)
    print(value)

按行打印整张表数据:

for key,value in df.iterrows():
    print(key)
    print(value)

按元组方式获取行数据:

for row in df.itertuples():
    print(row)

你可能感兴趣的:(Pandas处理excel自动化常用操作)