我正在尝试处理用html(或xml.IDK)编写的xls数据 我试着这样做
df = pandas.read_html(r"filename.xls", skiprows=0)
它不是数据帧,只是列表。所以我这样做了
df = df[0]
在此之后,我可以做到,
print(df)
结果如下
0 1 2
0 name age gender
1 john 18 male
2 ryan 20 male
之前,我和其他xlsx文件做了类似的任务,这些文件工作得很好,但没有用这个。
例如,
for index, row in df.itterrows():
target = str(row['gender'])
if target = 'male':
df.loc[index,'gender'] = 'Y'
else:
df.loc[index,'gender'] = 'N'
实际上,代码长达400行....
我希望我的数据框如下所示,以便我可以重新使用我已编写的代码。
name age gender
0 john 18 male
1 ryan 20 male
作为评论,我也添加了这个结果。 我试图跳过这一行
df = pandas.read_html(r"filename.xls", skiprows=1)
结果如下
0 1 2
0 john 18 male
1 ryan 20 male
我该怎么做?
答案 0 :(得分:2)
使用参数header=0
:
df = pandas.read_html(r"filename.xls", header=0)[0]
然后循环使用np.where
:
变化:
for index, row in df.itterrows():
target = str(row['gender'])
if target = 'male':
df.loc[index,'gender'] = 'Y'
else:
df.loc[index,'gender'] = 'N'
为:
df['gender'] = np.where(df['gender'] == 'male', 'Y', 'N')