我知道如何跳过行...以及如何处理不同的标题,但是如何管理不同的标题?
在我的示例中,我有一个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 ;...
答案 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,然后再次将其导入回...