Python 根据存在的值从数据框中选择列

Python 根据存在的值从数据框中选择列,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个包含许多列和行的excel文件。 我只想选择并导入其中一些列,只要它们有正确的内容(即,如果任何一个列单元格包含CUP) 我有下面的代码,但我知道它不工作 输出应如下所示: mystring = 'SHOVEL2 CUP UMBRELLA WALLET MIKE GENARAL BASKET COFFEE TEA CUP SCREENING MOVIES' 我在这里附上了我的excel文件照片。正如我所提到的,您需要先导入数据,然后对其进行过滤,然后加入过滤后的列 df = pd.re

我有一个包含许多列和行的excel文件。 我只想选择并导入其中一些列,只要它们有正确的内容(即,如果任何一个列单元格包含
CUP

我有下面的代码,但我知道它不工作

输出应如下所示:

mystring = 'SHOVEL2 CUP UMBRELLA WALLET MIKE GENARAL BASKET COFFEE TEA CUP SCREENING MOVIES'

我在这里附上了我的excel文件照片。

正如我所提到的,您需要先导入数据,然后对其进行过滤,然后加入过滤后的列

df = pd.read_excel("my_excel.xlsx", skiprows=[0])
m = df.isin(['CUP']).any(axis=0)
mystring = ' '.join(df.loc[:, m].values.ravel('F'))

不幸的是,您必须导入整个内容,然后根据内容筛选列
pd.read\u excel在加载之前不提供查看excel内部内容的功能。如果要有选择地加载列,需要事先知道要包含哪些列。@coldspeed我明白了。是否应将excel中的每一列作为单独的字符串导入?然后选择包含
CUP
的字符串,然后连接所有选定的字符串?我尝试了代码,得到了这个错误
IndexingError:Unalignable boolean Series作为索引器提供(布尔序列的索引和索引对象的索引不匹配
@Nguyen啊,我想问题在于索引。我现在已经更改了,请再次检查?@COLDSPEED当我在更大的excel文件上运行代码时,出现了此错误
TypeError:sequence item 1155:expected str instance,datetime.datetime found
@Nguyen转换您的数据调用join之前,将ata帧转换为str:.astype(str)。您的数据中似乎有一个datetime列,不确定如何使用。@coldspeed我在其他excel文件中尝试了它。好的,我按照您说的做了。
df=df.astype(str)
df = pd.read_excel("my_excel.xlsx", skiprows=[0])
m = df.isin(['CUP']).any(axis=0)
mystring = ' '.join(df.loc[:, m].values.ravel('F'))