【问题标题】:Change values in excel file from values of other excel using python使用python从其他excel的值更改excel文件中的值
【发布时间】:2016-10-25 15:26:15
【问题描述】:

我有数据

   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)

【问题讨论】:

  • 您要更改 Excel 文件还是只打印电子邮件?
  • @doctorlove,我要改df,df = pd.read_excel('name.xlsx'),但是不想改excel
  • 好的,你能在上面的代码中添加'df'吗?没有提到

标签: python excel pandas


【解决方案1】:

我认为您需要df1 中的mapidSerie 创建,由set_indexdf2 创建:

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

【讨论】:

  • 并可以向我建议相同的示例?如果我有几个小时数的列,例如3,我应该将它添加到带有17/Jun/2016:06:25:05之类的字符串的列中,我想得到17/Jun/2016:09:25:05,我可以使用你的例子,但我应该做什么,让它datetime类型
  • 我认为您可以创建新问题,如果简单的pd.to_datetime(df['date_col']) 不起作用,请添加示例和所需的输出。
  • 你能说,我有类似的问题,我应该从另一列更改一列,但我应该更改它并最后添加新值。我做df['id'] = df.id.map(status.set_index('mail')['status' + ' ' + df.id]) 但它返回ValueError: cannot index with vector containing NA / NaN values
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-06
  • 2019-04-28
  • 1970-01-01
  • 2021-02-06
  • 1970-01-01
相关资源
最近更新 更多