python---合并两个excel表格内容
需求描述:
⽰例:两个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) # 通过⼯作簿名称获
writelines使用方法pythoncv0 = l_values(0) # 第⼀列所有的值
cv1 = l_values(1) # 第⼆列所有的值
cv2 = l_values(2) # 第三列所有的值
# 打开2.xlsx
xls_file2 = xl.open_workbook("2.xlsx") # 打开⽂件
xls_sheet2 = xls_file2.sheet_by_name(sheetName) # 通过⼯作簿名称获
sheet2cv0 = l_values(0) # 第⼀列所有的值
sheet2cv1 = l_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")
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论