python 用os库和xlrd、xlwd库快速合并相同n个Excel文件操作实例( 三 )

<提示文本>在下面一行配置准备合并的Excel文件目录:nC:/Users/Administrator/Desktop/测试目录n<提示文本>第一行是否为标题行1表示是,0表示否:n0n<提示文本>设置汇总文件的文件名及文件格式:n汇总.xlsx'f.write(data)f.close()except FileExistsError:passos.startfile(r".合并Excel文件参数配置.txt")def get_param():'''获取用户配置好的配置文件'''param = {}f = open(r".合并Excel文件参数配置.txt", "r", encoding="utf-8")file_data = f.readlines()f.close()param["url"] = file_data[1].replace('n', "")param["title"] = eval(file_data[3].replace('n', ""))param["file_name"] = file_data[5].replace('n', "")return paramdef merge_excel(param):'''合并同类型的Excel文件'''files = os.listdir(param["url"])values = []# 存放获取的Excel文件内容for file in files:if file == param["file_name"]: continue# 不统计与汇总文件同名的文件,避免可能的重复统计# 将所有文件的内容都放入values变量中url = op.join(param["url"], file)data = xlrd.open_workbook(url)table = data.sheets()[0]nrows = table.nrowsif param["title"] == 1:# 若文件存在标题,把第一个读取到的文件标题做问所有内容的标题if file == files[0]:title = table.row_values(0)title.append("数据来源")values.append(title)for i in range(param["title"], nrows):val = table.row_values(i)val.append(file)values.append(val)wa = xlwt.Workbook()# 创建工作簿b = wa.add_sheet('汇总')# 添加“汇总”工作表for i in range(len(values)):# 写入数据for j in range(len(values[i])):b.write(i, j, values[i][j])wa.save(op.join(param["url"], param["file_name"]))print("文件合并成功")def main():while True:m = menu()if m == 1:set_param()input("设置好后按回车继续")elif m == 2:param = get_param()merge_excel(param)elif m == 3:try:os.startfile(param["url"])except:print("还没有获取到配置参数中的文件路径,请先运行合并程序,输入2运行合并程序")elif m == 4:breakmain()
【python 用os库和xlrd、xlwd库快速合并相同n个Excel文件操作实例】


推荐阅读