如何在Python中确定CSV文件中的列数

时间:2019-07-09 14:18:42

标签: python pandas csv

我有一个CSV文件,开头有2列,在某行中有4列。我只想使用2列,而忽略其他列。

我的代码:

df = pd.read_csv(path,header=None,nrows=NUM_OF_CONF_ROWS,skiprows=2)

错误:

  

标记数据时出错。 C错误:第17行中应该有2个字段,看到了4

数据示例:

 1,2
 2,4
 ...
 1,2,3,4
 1,2

2 个答案:

答案 0 :(得分:0)

您可以使用选项usecols来指示要使用的列:

df = pd.read_csv(path,header=None,nrows=NUM_OF_CONF_ROWS,skiprows=2, usecols = [0 1])

答案 1 :(得分:0)

没有这样的事情,因为一开始只有2列,总共变成4列,因为在较高索引的那一列中存在非空值。这意味着您的csv文件确实有4列要开始。

如果只需要前两列,则可以使用df.columns.isin()这样的方法“删除”其余的列:

df = df.loc[df.columns.isin('place column names or index in a list and put it here')]

您将获得想要的2列。

希望这会有所帮助:))