使用另一个电子表格中的值向空电子表格单元格添加文本(使用 Python)

时间:2021-03-27 03:43:00

标签: python excel append

我想使用另一个电子表格(参考 Excel)向电子表格(主 Excel)中的空单元格添加文本。当某个(唯一的)字符串出现在主 Excel 的“代码”列中时,我想使用另一个电子表格中与相同唯一字符串关联的值填充同一行上的空单元格。

我的“字典”电子表格(参考 Excel):

<头>
代码 国家 资本 语言
AU 澳大利亚 堪培拉 英文
FR 法国 巴黎 法语
美国 美国 DC 英文

我要填写的电子表格(主 Excel):

<头>
国家 资本 语言 代码
AU
FR
美国

我可以编写什么 python 代码来将相应的值输入到主 Excel 中同一行的代码中?例如,当python在主Excel的代码列中看到“AU”时,我希望python将“澳大利亚”、“堪培拉”和“英语”(按此顺序)添加到Country、Capital和Language列中与“AU”在同一行。

The Main Excel I want to fill in, and the Reference Excel

1 个答案:

答案 0 :(得分:0)

您可以使用 pandas 做您想做的事。

import pandas as pd


main = pd.read_excel('main.xlsx')
reference = pd.read_excel('reference.xlsx')

# Below are two methods to fill values in Main Excel
# with values from Reference Excel, you only need choose one

# 1. Using Series map
columns = ['Language', 'Country', 'Capital']
for column in columns:
    main[column] = main['Code'].map(reference.set_index('Code')[column])

# 2. Using Dataframe update
main = main.set_index('Code').update(reference.set_index('Code'))

# At last, write the filled main dataframe to new excel
main.to_excel('filled_main.xlsx')
相关问题