Python 使用pandas读取csv文件,其中的任何列与列表中给定的列名匹配

Python 使用pandas读取csv文件,其中的任何列与列表中给定的列名匹配,python,pandas,Python,Pandas,我有几个CSV文件,大约有15列。我只对5个栏目感兴趣。所以我把它们存储在一个列表中 mylist=['col1','col2','col3','col4','col5'] 我在熊猫数据帧df中读取csv文件 现在,当我执行df[mylist]时,它会抛出错误,因为csv文件中不存在col4 我的问题是,即使列表中列出的某些列在csv中不存在,我如何仍然读取这些文件 示例:如果csv文件没有col4,那么代码应该只提取与列表中的列匹配的任何列?您可以使用列表的真实列名称: df = pd.re

我有几个CSV文件,大约有15列。我只对5个栏目感兴趣。所以我把它们存储在一个列表中

mylist=['col1','col2','col3','col4','col5']
我在熊猫数据帧df中读取csv文件

现在,当我执行df[mylist]时,它会抛出错误,因为csv文件中不存在
col4

我的问题是,即使列表中列出的某些列在csv中不存在,我如何仍然读取这些文件

示例:如果csv文件没有
col4
,那么代码应该只提取与列表中的列匹配的任何列?

您可以使用
列表的真实列名称:

df = pd.read_csv('your_file.csv')
cols = [col for col in df.columns if col in your_list]
df = df[cols]
df = pd.read_csv('file.csv')
df1 = df[df.columns.intersection([mylist])]

很高兴能帮上忙,天气真好!