pandas read_excel every kth column



我试图使用pandas.read_excel读取Excel文件的每k列。从文档来看,带有可调用对象的usecols选项似乎很有用:

如果可调用,则根据它计算每个列名并解析如果可调用对象返回True,

是否有一种方法可以让可调用对象接受列号而不是列名?比如:

pd.read_excel('file.xls', usecols=lambda col_number: not col_number % k)

这是我所知道的最好的方法-阅读第一行,找出列的数量,然后创建一个数组,每个第k列整数索引。(可调用对象只接收列名)

import numpy as np
dfe = pd.read_excel(r'D:jchfilesexceljchhouseRats.xlsx', nrows=1)
k = 3
print(dfe.shape)
(1, 9)
nb_sel_cols = dfe.shape[1]//k
print(nb_sel_cols)
3
sel_cols = np.arange(nb_sel_cols)*k
print(sel_cols)
[0 3 6]
df_rats = pd.read_excel(r'D:jchfilesexceljchhouseRats.xlsx', usecols=sel_cols)
df_rats.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 16 entries, 0 to 15
Data columns (total 3 columns):
#   Column      Non-Null Count  Dtype         
---  ------      --------------  -----         
0   Unnamed: 0  3 non-null      datetime64[ns]
1   Inside      3 non-null      float64       
2   Where       3 non-null      object        
dtypes: datetime64[ns](1), float64(1), object(1)
memory usage: 512.0+ bytes

相关内容

  • 没有找到相关文章

最新更新