如何在Python中确定CSV文件中的列数
我有一个CSV文件,开始时有2列,在某些行中有4列。我只想使用这两列,而忽略其他列 我的代码:如何在Python中确定CSV文件中的列数,python,pandas,csv,Python,Pandas,Csv,我有一个CSV文件,开始时有2列,在某些行中有4列。我只想使用这两列,而忽略其他列 我的代码: df = pd.read_csv(path,header=None,nrows=NUM_OF_CONF_ROWS,skiprows=2) 错误: 标记数据时出错。C错误:在第17行,saw 4中预期有2个字段 数据示例: 1,2 2,4 ... 1,2,3,4 1,2 您可以使用选项usecols指示要使用的列: df = pd.read_csv(path,header=None,nro
df = pd.read_csv(path,header=None,nrows=NUM_OF_CONF_ROWS,skiprows=2)
错误:
标记数据时出错。C错误:在第17行,saw 4中预期有2个字段
数据示例:
1,2
2,4
...
1,2,3,4
1,2
您可以使用选项
usecols
指示要使用的列:
df = pd.read_csv(path,header=None,nrows=NUM_OF_CONF_ROWS,skiprows=2, usecols = [0 1])
不存在这样的情况,因为在更高的索引中,该列中存在非空值,所以在开始时只有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')]
你会得到你想要的两列
希望这有帮助:)谢谢!如果列没有标题,我如何使用它?我尝试了一个csv文件,在前两行中使用了两列,然后在没有标题的情况下使用了三列。而且选项
usecols
似乎不需要标题,它可以作为positional参数使用。运行代码时会出现什么样的错误?将文件读取为basicdf=pd.Read\u csv('your\u file.csv',header=0)
,然后使用上面的代码删除不希望包含的列。