python

您所在的位置:网站首页 怎么合并两张表格里相同的内容 python

python

2023-12-18 13:59| 来源: 网络整理| 查看: 265

需求描述:

示例:两个excel表格如下:

    

1.xlsx                                                          2.xlsx

现要将上面两个表格合并如下:

合并.csv

解决方法:

CSV(Comma Separated Values,逗号分隔值 ),是一个纯文本格式,用逗号分隔一系列值。它存储数据,但不包含格式,公式,宏等。作为开发人员,以编程方式操作CSV很容易,因为毕竟它们是简单的文本文件。

python 读写模式: r :只读  r+ : 读写  w : 新建(会对原有文件进行覆盖) a : 追加  b : 二进制文件

常用的模式有: “a” 以“追加”模式打开, (从 EOF 开始, 必要时创建新文件) “a+” 以”读写”模式打开  “ab” 以”二进制 追加”模式打开  “ab+” 以”二进制 读写”模式打开

“w” 以”写”的方式打开  “w+” 以“读写”模式打开  “wb” 以“二进制 写”模式打开  “wb+” 以“二进制 读写”模式打开

“r+” 以”读写”模式打开  “rb” 以”二进制 读”模式打开  “rb+” 以”二进制 读写”模式打开

该方法中,数字需特殊处理。否则运行如下程序将报错【TypeError: write() argument must be str, not float】

# -*- coding:utf8 -*- # xlrd模块主要用于读取Excel import xlrd as xl import os import re # 过滤重复的人,并保存到txt文件里 def readExcel(fileName="", sheetName="Sheet1"): # 打开fileName表格 xls_file = xl.open_workbook(fileName) # 打开文件 xls_sheet = xls_file.sheet_by_name(sheetName) # 通过工作簿名称获 cv0 = xls_sheet.col_values(0) # 第一列所有的值 cv1 = xls_sheet.col_values(1) # 第二列所有的值 cv2 = xls_sheet.col_values(2) # 第三列所有的值 # 打开2.xlsx xls_file2 = xl.open_workbook("2.xlsx") # 打开文件 xls_sheet2 = xls_file2.sheet_by_name(sheetName) # 通过工作簿名称获 sheet2cv0 = xls_sheet2.col_values(0) # 第一列所有的值 sheet2cv1 = xls_sheet2.col_values(1) # 第二列所有的值 for index, nameItem in enumerate(cv0): tmpIndex = sheet2cv0.index(nameItem) # print("tmpIndex=", tmpIndex) # “a+” 以”读写”模式打开,追加 with open("合并.csv", "a+", encoding="utf-8") as f: f.writelines( [nameItem, ",", cv1[index], ",", cv2[index], ",", sheet2cv1[tmpIndex], "\n"]) if __name__ == '__main__': readExcel("1.xlsx")

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3