导入期间跳过行

时间:2019-06-27 14:10:13

标签: python pandas csv

我知道如何跳过行...以及如何处理不同的标题,但是如何管理不同的标题?

在我的示例中,我有一个CSV文件,如下所示:

someProperty

我想要一个只有一个标头的熊猫数据框,以便进行进一步的计算。

非常感谢。

编辑:在一些评论之后: 我的代码的一部分:

Header_row1; Header_row2;....
2 ;3 ;...
2 ;3 ;...
2 ;3 ;...
2 ;3 ;...
Header_row1; Header_row2;....
2 ;3 ;...
2 ;3 ;...
2 ;3 ;...
Header_row1; Header_row2;....
2 ;3 ;...
2 ;3 ;...

2 个答案:

答案 0 :(得分:2)

我不确定在导入时是否可以这样做。但是您可以在导入后执行此操作:

df = pd.read_csv('your_csv_file')

# this check every row if they are different from the column names
s = df.ne(df.columns, axis=1).any(axis=1)

# s is
#0      True
#1      True
#2      True
#3      True
#4     False
#5      True
#6      True
#7      True
#8     False
#9      True
#10     True
#dtype: bool


# keep only those rows
df = df[s]

输出:

   Header_row1  Header_row2 ....
0           2            3   ...
1           2            3   ...
2           2            3   ...
3           2            3   ...
5           2            3   ...
6           2            3   ...
7           2            3   ...
9           2            3   ...
10          2            3   ...

答案 1 :(得分:1)

变量wind_rec_gz是列表['/media/..../rge/merge_2019-04-04.csv'](请看方括号)。摆脱括号,它应该起作用(连同Quang Hoang的回答摆脱多余的标题行)。

wind_rec_gz = r'/media/..../rge/merge_2019-04-04.csv'

df = pd.read_csv(wind_rec_gz, sep=';', header=0)

正如我在前面的评论中提到的那样,如果使用Quang Hoang的方法,您将摆脱多余的标题行,但是所有列都将作为对象而不是整数导入。如果您有许多不同数据类型的列,则可能需要更多工作。一种解决方案可能是将其导出回csv,然后再次将其导入回...

相关问题