赞
踩
在工作中遇到需要一个情况:需要读取xls文件的两个列组成一个列表镶嵌字典的数据供后续使用。
分析:
使用了xlrd只能按列的索引来读取,但是xls文件每次调用都会发生变化,其中不变的是我们要取的那两列的列名一直没变,就是表格的第一行内容会变多或变少,但是那两列一直都在,只是索引位置发生了变化。
解决方案:
这个时候就用上pandas了。
- import pandas as pd
- excel_file = './产业类.xls'
- # 读取列名为clbh和fwbh的两列,如有增加直接在中括号里加即可
- data = pd.read_excel(excel_file, usecols=['clbh', 'fwbh'])
- print(data)
知识点连接
在这里顺便记录pandas读取指定列的其他情形
- # 取C和H两列
- pd.read_excel('tmp.xlsx', usecols='C,H')
- # 取A到I列
- pd.read_excel('tmp.xlsx', usecols='A:I')
- # 取A和C列,再加E到H列
- pd.read_excel('tmp.xlsx', usecols='A,C,E:H')
- # 取前两列
- pd.read_excel('tmp.xlsx', usecols=[0,1])
- # 取指定列名的列
- pd.read_excel('tmp.xlsx', usecols=['列名1','列名2'])
- # 表头包含A的
- pd.read_excel('team.xlsx', usecols=lambda x: 'A' in x)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。