使用python从其他excel的值更改excel文件中的值
我有数据使用python从其他excel的值更改excel文件中的值,python,excel,pandas,Python,Excel,Pandas,我有数据 id 30046 30049 30040 30046 接下来是excel id mail 30049 natusya_89_2009@mail.ru 30046 fresh_tea@mail.ru 30040 sedoi7072@mail.ru 我想将id从1文件更改为2 excel中的邮件。 期望输出 id fresh_tea@mail.ru natusya_89_2009@mail.ru sed
id
30046
30049
30040
30046
接下来是excel
id mail
30049 natusya_89_2009@mail.ru
30046 fresh_tea@mail.ru
30040 sedoi7072@mail.ru
我想将id从1文件更改为2 excel中的邮件。
期望输出
id
fresh_tea@mail.ru
natusya_89_2009@mail.ru
sedoi7072@mail.ru
fresh_tea@mail.ru
我试着
for (id1, id2, mail) in zip(ids1, ids2, mails):
if id1 == id2:
ids1.replace(id1, mail)
我想您需要df1
中的id
列,由Serie
创建,由df2
创建:
print (df1)
id
0 30046
1 30049
2 30040
3 30046
print (df2)
id mail
0 30049 natusya_89_2009@mail.ru
1 30046 fresh_tea@mail.ru
2 30040 sedoi7072@mail.ru
df1['id'] = df1.id.map(df2.set_index('id')['mail'])
print (df1)
id
0 fresh_tea@mail.ru
1 natusya_89_2009@mail.ru
2 sedoi7072@mail.ru
3 fresh_tea@mail.ru
我想您需要df1
中的id
列,由Serie
创建,由df2
创建:
print (df1)
id
0 30046
1 30049
2 30040
3 30046
print (df2)
id mail
0 30049 natusya_89_2009@mail.ru
1 30046 fresh_tea@mail.ru
2 30040 sedoi7072@mail.ru
df1['id'] = df1.id.map(df2.set_index('id')['mail'])
print (df1)
id
0 fresh_tea@mail.ru
1 natusya_89_2009@mail.ru
2 sedoi7072@mail.ru
3 fresh_tea@mail.ru
您想更改Excel文件还是打印电子邮件?@doctorlove,我需要更改df,
df=pd.read\u Excel('name.xlsx')
,但不想更改Excel好的,您能在上面的代码中添加'df'吗?没有提到你想更改Excel文件还是打印电子邮件?@doctorlove,我需要更改df,df=pd.read\u Excel('name.xlsx')
,但不想更改Excel好的,你能在上面的代码中添加“df”吗?没有提到,可以向我推荐同样的例子吗?如果我在列中有小时数,例如3
,我应该用字符串将其添加到列中,如17/Jun/2016:06:25:05
,我想得到17/Jun/2016:09:25:05
,我可以用你的例子,但我应该做的是,让它成为datetime
类型,我认为你可以创建新问题,如果simplepd.to_datetime(df['date\u col'])
不起作用,请添加示例和所需输出。我添加了新问题。您可以说,我有类似的问题,我应该从一列更改另一列,但我应该更改它,最后添加新的值。我确实df['id']=df.id.map(status.set_index('mail')['status'+''+df.id])
但它返回ValueError:无法使用包含NA/NaN值的向量进行索引
并且可能会向我建议相同的示例?如果我在列中有小时数,例如3
,我应该用字符串将其添加到列中,如17/Jun/2016:06:25:05
,我想得到17/Jun/2016:09:25:05
,我可以用你的例子,但我应该做的是,让它成为datetime
类型,我认为你可以创建新问题,如果simplepd.to_datetime(df['date\u col'])
不起作用,请添加示例和所需输出。我添加了新问题。您可以说,我有类似的问题,我应该从一列更改另一列,但我应该更改它,最后添加新的值。我确实df['id']=df.id.map(status.set_index('mail')['status'+''+df.id])
但它返回ValueError:无法使用包含NA/NaN值的向量进行索引