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。
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["列名"]:删除列
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)