我有几个包含大约15列的CSV文件。我只对5列感兴趣。所以我将它们存储在一个列表中。
mylist=['col1','col2','col3','col4','col5']
我在pandas dataframe df。
中读取了csv文件现在当我执行df [mylist]时会抛出错误,因为csv文件中不存在col4
。
我的问题是,即使列表中列出的某些列不在csv中,我仍然如何读取文件。
示例:如果csv文件没有col4
,那么代码应该只提取与列表中的列匹配的列?
答案 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]