在第三部获取指定列数据后面加入查重
时间: 2024-03-02 12:50:12 浏览: 70
好的,如果需要在获取指定列数据后进行查重,可以使用pandas库中的drop_duplicates()方法。该方法会去除列中所有重复的行,只保留第一次出现的行。
以下是修改后的代码:
```python
import pandas as pd
# 读取Excel文件
excel_file = r"C:\Users\Chenzhong_Zhou\Desktop\对比需求\list\GAFP list(1).xlsx"
df_excel = pd.read_excel(excel_file, sheet_name="Sheet1")
# 获取指定列数据并进行查重
excel_col = df_excel["GAFP"].drop_duplicates()
# 读取CSV文件
csv_file = r"C:\Users\Chenzhong_Zhou\Desktop\对比需求\list\ServerGrpProjectList_export_1684484264572.csv"
df_csv = pd.read_csv(csv_file)
# 获取指定列数据并进行查重
csv_col = df_csv["column_name"].drop_duplicates()
# 数据对比
if excel_col.equals(csv_col):
result = "数据一致"
else:
result = "数据不一致\n\nExcel文件中多出的数据:\n{}\n\nCSV文件中多出的数据:\n{}".format(
excel_col[~excel_col.isin(csv_col)],
csv_col[~csv_col.isin(excel_col)]
)
# 将结果写入txt文件
txt_file = r"C:\Users\Chenzhong_Zhou\Desktop\对比需求\list\txt001.txt"
with open(txt_file, "w", encoding="utf-8") as f:
f.write(result)
```
这样,在获取Excel和CSV文件中的指定列数据后,会先使用drop_duplicates()方法进行去重,以确保数据的唯一性。然后再进行数据对比,以避免重复的数据对比结果出现误差。
阅读全文