Pandas是用python语言编写的,超好用的数据处理工具,也提供了特地不便的excel读写性能,能够一句话读入excel文件中所有数据:
import pandas as pd dataframe = pd.read_excel(io=file_path_name, header=1)
read_excel办法有很多参数,其中header示意第几行是excel文件的题目行——Pandas会应用题目行中的值,当做dataframe中的列名。这个行数从0开始计数,比如说excel是这个样子:
空空空 | 空空空 |
---|---|
姓名 | 性别 |
张大柱 | 男 |
王翠花 | 女 |
那么下面的代码就把第2行当做题目行,读出来的dataframe有两列,别离是”姓名”和”性别”,能够用dataframe[‘姓名’],来获取第一列的数据。
但有的时候,咱们不晓得第几行才是题目行,而且excel文件又相当大,比方有上万行,read_excel一次破费的工夫,可能高达数十秒。这时咱们就要在一次性读取数据之前,先确定题目行的地位。
那么就先找找题目行的特色,比方咱们晓得第一列永远都是“姓名”,咱们就能够先循环读取表格中第一列的所有单元格,直到找到“姓名”为止,也就确认题目行了。
正好Pandas底层应用了xlrd来读取excel,这个库也就不必独自装置了,间接援用,退出上面几行代码即可:
import pandas as pd import xlrd workbook = xlrd.open_workbook(file_path_name) # 关上指定的excel文件 sheet = workbook.sheets()[0] # 读取指定的sheet表格 i = 1 # 假如缺省状况下,第2行是题目行 for i in range(10): value = sheet.cell(i, 0).value # 行号、列号,都是从0开始 if value == '姓名': break workbook.release_resources() dataframe = pd.read_excel(io=file_path_name, header=i)
这样无论第几行是题目行,都能正确解析了