使用pandas读取csv文件,其中列匹配列匹配列匹配列

时间:2017-09-20 05:08:31

标签: python pandas

我有几个包含大约15列的CSV文件。我只对5列感兴趣。所以我将它们存储在一个列表中。

mylist=['col1','col2','col3','col4','col5']

我在pandas dataframe df。

中读取了csv文件

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

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

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

2 个答案:

答案 0 :(得分:1)

您可以将intersection实际列名与list

一起使用
df = pd.read_csv('file.csv')
df1 = df[df.columns.intersection([mylist])]

答案 1 :(得分:0)

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