问题:
在工作中遇到需要一个情况:需要读取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)
文章出处登录后可见!
已经登录?立即刷新