Python Excel 写入去重:如何避免重复数据写入 Excel 文件

在使用 Python 的 xlsxwriter 库写入 Excel 文件时,您可能需要避免重复数据写入。本文将介绍如何实现这一功能。

问题:

您的写入函数并没有包含去重的功能。要实现去重,您可以在写入之前先对数据进行去重处理。

解决方案:

您可以使用 Python 的 set() 函数来去重。具体的做法如下:

  1. 在写入函数的开始处添加一个空的集合(set)来存储已经写入的数据。
  2. 在循环写入之前,对每个要写入的数据进行判断,如果该数据已经在集合中存在,则跳过该数据,不进行写入。
  3. 在写入完成后,将新写入的数据添加到集合中。

示例代码:

def write(infors_list, file_path):
    workbook = xlsxwriter.Workbook(file_path, {'nan_inf_to_errors': True})  # 新建excel表
    worksheet = workbook.add_worksheet('sheet1')  # 新建sheet(sheet的名称为'sheet1')
    headings = ['企业名称', '备案编号', '服务性质', '法定代表人','网站负责人', '单位地址', '网站名称',
                '网站主服务器域名','网站其他服务器域名', '备案机关','备案日期','备案状态']  # 设置表头
    worksheet.write_row('A1', headings)
    
    written_data = set()  # 存储已经写入的数据
    
    for inf in infors_list:
        if inf not in written_data:
            index = infors_list.index(inf)
            worksheet.write_row('A{:}'.format(index + 1), inf)
            written_data.add(inf)  # 将新写入的数据添加到集合中
    
    workbook.close()

解释:

  1. written_data = set() 创建一个空的集合 written_data 来存储已写入的数据。
  2. if inf not in written_data: 检查当前要写入的数据 inf 是否已经在 written_data 中。
  3. 如果 inf 不在 written_data 中,则写入数据并将其添加到 written_data 中。

注意:

  • 此代码示例假设您要写入的数据是可哈希的。如果您要写入的数据不可哈希,则需要使用其他方法来实现去重。
  • set() 函数会自动去重,因此无需手动去重。

通过使用 set() 函数和简单的判断语句,您就可以轻松地避免重复数据写入 Excel 文件。


原文地址: http://www.cveoy.top/t/topic/pSFl 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录