pandas简介
pandas 是基于NumPy的一种工具,支持xls与xlsx文件格式。该工具是为了解决数据分析任务而创建的。
Series,在Pandas库中表示一维数组,与Python基本的数据结构List相近,可以保存不同数据类型。
DataFrame,是Pandas库中的一种数据结构,它类似excel,是一种二维表。
读取excel文件,read_excel ( io)
# coding:utf-8
# 将实验 excel 文件放入 python 执行文件的顶层目录下,即可实现读取Excel功能。
import pandas as pd
fileName = input("请输入excel文件\n") # 获取文件路径
df = pd.read_excel(fileName) # df 即 DataFrame 结构
print(df)
一些重要的pandas.read_excel参数如下:
参数 | 描述 |
io | 一个字符串,描述给定Excel文件的路径。 |
sheet_name | 您要导入的数据的Excel工作表名称或工作表编号。 工作表编号可以是整数,其中0是第一张工作表,1是第二张工作表,依此类推。如果给出了工作表名称/编号列表,则输出将是DataFrames的字典。 默认值为读取所有工作表并输出DataFrames字典(key:value)。 |
header | 用于列标签列表的行号。 默认值为0,表示假定第一行包含列标签。 如果数据没有一行列标签,则不使用。 |
names | 列名的单独Python列表输入。 默认情况下此选项为None。 此选项等效于为输出DataFrame的column属性分配列名称列表。 |
index_col | 指定应将哪一列用于行索引。 默认选项为None,这意味着所有列都包含在数据中,并且一定范围的数字用作行索引。 |
usecols | 整数、整数列表或字符串,用于指定要导入到DataFrame中的列。是。默认是导入所有列。如果给定一个字符串,熊猫使用标准的Excel格式来选择列(例如。“A:C,F,G”将导入列A, B, C,F和G)。 |
skiprows | 要在Excel工作表顶部跳过的行数。默认值为0。此选项对于跳过Excel中包含有关下面数据的说明信息的行非常有用。 |
pandas.read_excel(io, sheet_name=0, header=0, names=None, index_col=None, parse_cols=None, usecols=None, squeeze=False, dtype=None, engine=None, converters=None, true_values=None, false_values=None, skiprows=None, nrows=None, na_values=None, keep_default_na=True, verbose=False, parse_dates=False, date_parser=None, thousands=None, comment=None, skip_footer=0, skipfooter=0, convert_float=True, mangle_dupe_cols=True, **kwds)
示例:读取Sheet1的表头
# 读取Sheet1表的 表头
import pandas as pd
f_n= input("请输入城市顺序表.xls文件\n")
df = pd.read_excel(f_n,sheet_name='Sheet1') # 基于文件和sheet名,读取其中所有信息
print(df.columns)
利用read_excel ( io , usecols=None ) 获取指定列数据
# coding:utf-8
# 读取默认excel文件的sheet表的 指定列数据
import pandas as pd
filename= input("请输入excel文件\n")
Col=[0,1,4,9] #指定列:1、2、5、10
df = pd.read_excel(filename, usecols=[col[0]],names=None) # 读取项目名称列,不要列名
df_li = df.values.tolist()
result = []
for s_li in df_li:
result.append(s_li[0])
print(result) #输出指定列数据
xlrd 简介
最常用读取excel的库是 xlrd 。其中 xlrd 仅支持读取excel,而 xlwt 则是仅支持写如excel的库,两者组合出现。
网络上有大量的资源代码,这里不再赘述。
但值得介绍的是,xlwt 仅可写入 Ecxec2007之前的版本,即.xls文件(无法写入xlsx文件)。所以目前一般用xlrd读取,用openpyxl写入。
#coding:utf-8
# '''
# xlrd用于读取excel文件,是最常用的工具
# '''
import xlrd
data = xlrd.open_workbook(filename)
#文件名以及路径,如果路径或者文件名有中文给前面加一个r拜师原生字符。
mySheets = myWorkbook.sheets() #获取工作表list。
mySheet = mySheets[0] #通过索引顺序获取。
mySheet = myWorkbook.sheet_by_index(0) #通过索引顺序获取。
mySheet = myWorkbook.sheet_by_name(u'Sheet1') #通过名称获取。
print(mySheets,mySheet)
#1.对于行的操作
nrows = mySheet.nrows #获取该sheet中的有效行数
mySheet.row(rowx) #返回由该行中所有的单元格对象组成的列表
mySheet.row_slice(rowx) #返回由该列中所有的单元格对象组成的列表
mySheet.row_types(rowx, start_colx=0, end_colx=None) #返回由该行中所有单元格的数据类型组成的列表
mySheet.row_values(rowx, start_colx=0, end_colx=None) #返回由该行中所有单元格的数据组成的列表
mySheet.row_len(rowx) #返回该列的有效单元格长度
#2.对于列的操作
ncols = mySheet.ncols #获取列表的有效列数
mySheet.col(colx, start_rowx=0, end_rowx=None) #返回由该列中所有的单元格对象组成的列表
mySheet.col_slice(colx, start_rowx=0, end_rowx=None) #返回由该列中所有的单元格对象组成的列表
mySheet.col_types(colx, start_rowx=0, end_rowx=None) #返回由该列中所有单元格的数据类型组成的列表
mySheet.col_values(colx, start_rowx=0, end_rowx=None) #返回由该列中所有单元格的数据组成的列表
#3.对于单元格的操作
mySheet.cell(rowx,colx) #返回单元格对象
mySheet.cell_type(rowx,colx) #返回单元格中的数据类型
mySheet.cell_value(rowx,colx) #返回单元格中的数据
mySheet.cell_xf_index(rowx, colx) # 暂时还没有搞懂