pandas对excel操作

载入excel文件:

import pandas as pd

reader=pd.read_excel(path,sheet_name=0, header=0,usecols=('A:H'),dtype=str)

path:可以是文件路径,也可以是url

sheet_name:选择excel中的工作表,支持的类型:str, int, list, or None, default 0,整数从0开始

header:选择表头,类型:int, list of int, default 0,从0开始,如果没有表头则设置header=None

usecols:读取哪些列,int, str, list-like, or callable default None

dtype:数据类型,比如整数、字符串

返回结果:dataframe对象

读取所有sheet:sheet_name=None:

此时可以读取所有sheet的名称:

reader=pd.read_excel(file,sheet_name=None, header=0,usecols=('A:H'),dtype=str) 
print(list(reader.keys()))

['调入', '调出']

读取excel内容

必须指定sheet_name

遍历行(不包括表头):

for i in reader.values:
    print(i)

for i in reader.to_numpy():
    print(i)

['930777' 'CS定增' '000100' 'TCL科技']
['930777' 'CS定增' '002055' '得润电子']
['930777' 'CS定增' '002129' '中环股份']
['930777' 'CS定增' '002371' '北方华创']
['930777' 'CS定增' '002735' '王子新材']
['930777' 'CS定增' '002841' '视源股份']
['930777' 'CS定增' '002878' '元隆雅图']
['930777' 'CS定增' '300073' '当升科技']

两种效果一样,官方推荐第二种,返回array对象

另一种遍历方式:

for row in reader.iterrows():
    print(row)

(4199, 指数代码 CN5141
指数简称 优势价值
证券代码 000935
证券简称 四川双马
调整类型 +
Name: 4199, dtype: object)
(4200, 指数代码 CN5141
指数简称 优势价值
证券代码 000959
证券简称 首钢股份
调整类型 +
Name: 4200, dtype: object)

返回元组,(index,series)

遍历列:

    for i in reader.iteritems():
        print(i)

 

取表头:

reader.columns
reader.keys()

两种效果一样

取特定的一列:

reader['代码']

返回对象

 转为字典:

reader.to_dict()

 

posted @ 2021-05-13 00:36  shang的学习园地  阅读(272)  评论(0)    收藏  举报