用python写一个用A excel表的其中一列数据与B excel表的其中一列数据对比相同的就把A excel表的对应的哪一行的其中一个数据写入B excel表对应行的空白列
时间: 2023-09-03 12:25:01 浏览: 117
### 回答1:
首先,你需要使用 Python 的第三方库来读写 Excel 文件。常用的有 openpyxl、xlrd、xlwt 等。
示例代码如下:
```python
import openpyxl
# 读取 A excel 表
wb_a = openpyxl.load_workbook('A.xlsx')
# 读取 A excel 表中的第一个 sheet
sheet_a = wb_a.worksheets[0]
# 读取 B excel 表
wb_b = openpyxl.load_workbook('B.xlsx')
# 读取 B excel 表中的第一个 sheet
sheet_b = wb_b.worksheets[0]
# 遍历 A excel 表中的每一行
for row_a in sheet_a.iter_rows():
# 读取 A excel 表中的第一列的数据
data_a = row_a[0].value
# 遍历 B excel 表中的每一行
for row_b in sheet_b.iter_rows():
# 读取 B excel 表中的第一列的数据
data_b = row_b[0].value
# 如果相同
if data_a == data_b:
# 将 A excel 表中的第二列的数据写入 B excel 表中的第二列的空白处
row_b[1].value = row_a[1].value
# 保存 B excel 表
wb_b.save('B.xlsx')
```
上面的代码使用 openpyxl 库来读写 Excel 文件,并遍历两个 Excel 表中的每一行,比较两行中第一列的数据是否相同,如果相同就将 A 表中的第二列的数据写入 B 表中的第二列的空白处。
希望这能帮到你!
### 回答2:
要实现这个需求,可以使用Python的pandas库来处理Excel文件。首先,需要安装pandas库,并导入所需的模块:
```python
import pandas as pd
```
然后,读取A和B两个Excel文件的数据:
```python
df_a = pd.read_excel('A.xlsx') # 读取A Excel表
df_b = pd.read_excel('B.xlsx') # 读取B Excel表
```
假设A和B表格中要比较的列分别是'A列'和'B列',且要将A表格对应行的数据写入B表格的空白列,可以使用双重循环进行比较和写入操作:
```python
for i in range(len(df_a)):
for j in range(len(df_b)):
if df_a.loc[i, 'A列'] == df_b.loc[j, 'B列']: # 判断两列数据是否相同
df_b.loc[j, '空白列'] = df_a.loc[i, 'A列'] # 将A表格对应行数据写入B表格的空白列
```
最后,将修改后的B表格保存到新的Excel文件:
```python
df_b.to_excel('B_new.xlsx', index=False) # 保存修改后的B Excel表
```
完整的代码如下:
```python
import pandas as pd
df_a = pd.read_excel('A.xlsx') # 读取A Excel表
df_b = pd.read_excel('B.xlsx') # 读取B Excel表
for i in range(len(df_a)):
for j in range(len(df_b)):
if df_a.loc[i, 'A列'] == df_b.loc[j, 'B列']: # 判断两列数据是否相同
df_b.loc[j, '空白列'] = df_a.loc[i, 'A列'] # 将A表格对应行数据写入B表格的空白列
df_b.to_excel('B_new.xlsx', index=False) # 保存修改后的B Excel表
```
运行这段代码后,会生成一个新的B_new.xlsx文件,其中B表格的空白列将填入A表格中相同行的数据。
### 回答3:
在Python中,可以使用`pandas`库来操作Excel文件。首先需要安装`pandas`库,可以使用`pip`命令进行安装。
1. 导入`pandas`库和`openpyxl`库(用于读写Excel文件):
```
import pandas as pd
from openpyxl import load_workbook
```
2. 使用`pandas`的`read_excel`函数读取A和B的Excel数据,并指定需要比较的列(相同列的数据):
```
df_a = pd.read_excel("A.xlsx")
df_b = pd.read_excel("B.xlsx")
# 获取A和B要比较的列
column_a = "A列名称"
column_b = "B列名称"
# 判断A和B的数据框大小是否相同
if len(df_a) != len(df_b):
print("A和B的数据框大小不同,无法进行比较")
exit()
# 获取A和B要比较的列数据
data_a = df_a[column_a]
data_b = df_b[column_b]
```
3. 创建一个新的列,并在其中存储匹配的数据:
```
# 创建新列
new_column = "新列名称"
df_b[new_column] = None
# 遍历A的数据
for i in range(len(data_a)):
# 判断A和B的相应数据是否相同
if data_a[i] == data_b[i]:
# 将匹配的数据写入B的新列
df_b.at[i, new_column] = df_a.at[i, "A对应行的列名称"]
```
4. 将修改后的数据保存回B的Excel文件:
```
# 使用openpyxl库保存修改后的数据
writer = pd.ExcelWriter("B.xlsx")
df_b.to_excel(writer, index=False)
writer.save()
```
以上就是使用Python处理Excel表格的方法。请按照你的实际数据表格命名来修改代码中的文件名和列名。注意,确保A和B的数据框大小相同,否则无法进行比较。