【发布时间】:2020-11-17 18:53:45
【问题描述】:
我想将 csv 文件导入 Dataframe,我使用 pd.read_csv。 但是我有许多 csv 文件要导入,它们的列并不完全相同,但仍有一些共同点。 我无法更改 csv 文件,因为它们来自不同的来源,但在我获取它们时混合在一起,并且我无法使用名称过滤它们。另外,我不能全部导入然后过滤DataFrame,因为有些列是共同的。
在将其添加到 Dataframe 之前,有没有办法检查列数或某列是否在 csv 文件中?
类似: read_csv(source) 如果 'XXXX' 在 CSV 中
谢谢!
【问题讨论】:
-
使用
nrows=1在read_csv参数中读取,检查列,如果条件满足则读取整个文件。另一种解决方案是编写一个读取第一行并检查 col 信息的函数。 -
您可以使用
len(df.columns)查看列号 -
我猜当 csv 已经加载时,这些操作更容易完成。你能不能只将 csv 加载到不同的数据帧,检查它包含的数据,然后只将你想要的数据(例如不常见的列)添加到更大的帧?
-
pd.read_csv('csvfile.csv' , usecols = ['col1','col2']) -
RakeshV 我不能使用它,因为两种类型的 CSV 都有共同的列read_csv
标签: python pandas dataframe csv