python读取2个表格,对2个表格当中相同的2列进行比对,保留相同数据,替换不同数据并保存表1
时间: 2023-12-10 20:38:32 浏览: 92
可以使用 pandas 库来读取和操作表格。以下是一个示例代码,假设表1为 "table1.csv",表2为 "table2.csv",待比对的两列为 "column1" 和 "column2"。
```python
import pandas as pd
# 读取表1和表2
table1 = pd.read_csv("table1.csv")
table2 = pd.read_csv("table2.csv")
# 保留相同数据
merged = pd.merge(table1, table2, on=["column1", "column2"])
# 替换不同数据
merged["column3"] = merged["column3_x"].where(merged["column3_x"] == merged["column3_y"], merged["column3_y"])
# 保存表1
merged.drop(["column3_x", "column3_y"], axis=1, inplace=True)
merged.to_csv("table1.csv", index=False)
```
这段代码首先使用 `pd.read_csv()` 函数读取表1和表2,并使用 `pd.merge()` 函数将两个表格根据相同的两列合并。然后,使用 Series 的 `where()` 方法替换不同的数据,最后通过 `drop()` 方法删除多余的列,并使用 `to_csv()` 方法保存表1。
相关问题
python读取2个excel表格,对2个表格当中相同的2列进行比对,保留相同数据,替换不同数据并保存表1
可以使用 pandas 库来读取、比对和保存 Excel 表格。以下是一个示例代码:
```python
import pandas as pd
# 读取第一个表格
df1 = pd.read_excel('表格1.xlsx')
# 读取第二个表格
df2 = pd.read_excel('表格2.xlsx')
# 指定要比对的列
compare_cols = ['列1', '列2']
# 使用 merge 方法将两个表格按照指定列进行比对
merged_df = pd.merge(df1, df2, on=compare_cols, how='inner')
# 用第二个表格中的数据替换第一个表格中不同的数据
merged_df.update(df1)
# 保存修改后的表格1
merged_df.to_excel('修改后的表格1.xlsx', index=False)
```
在上面的代码中,我们首先使用 `pd.read_excel` 函数读取了两个 Excel 表格,然后指定了要比对的列。接着,使用 `pd.merge` 函数将两个表格按照指定列进行比对,得到了一个新的 DataFrame 对象 `merged_df`。最后,使用 `update` 方法将 `merged_df` 中的数据替换掉原来的表格1中的数据,最后将修改后的表格1保存到本地。
python读取2个excel表格,对2个表格当中相同的2列进行比对,其中2列数据需要一一对应,保留相同数据,替换不同数据并保存表1
你可以使用 pandas 库来读取和处理 Excel 表格。以下是一个基本的代码示例,假设要比较的两个 Excel 表格分别为 `table1.xlsx` 和 `table2.xlsx`,并且要比较的两列分别为 `col1` 和 `col2`:
```python
import pandas as pd
# 读取表格1和表格2
df1 = pd.read_excel('table1.xlsx')
df2 = pd.read_excel('table2.xlsx')
# 根据col1和col2两列进行合并,只保留相同的数据
merged_df = pd.merge(df1, df2, on=['col1', 'col2'], how='inner')
# 将表格1中不同的数据替换为表格2中的数据
for index, row in merged_df.iterrows():
df1.loc[(df1['col1'] == row['col1']) & (df1['col2'] == row['col2']), ['col3', 'col4']] = [row['col3'], row['col4']]
# 保存表格1
df1.to_excel('table1.xlsx', index=False)
```
需要说明的是,上述代码只能处理两个表格中相同的数据,并不能处理两个表格中存在于一张表格而不存在于另一张表格的数据。如果需要处理这种情况,需要根据具体情况进行修改。
阅读全文