从多个excel表格中获取某列并合并成一个表格

# 导入数据包
import pandas as pd
import datetime
import os
import shutil
import os
import re
from win32com import client as wc
from openpyxl import load_workbook
import xlrd
from xlwt import *
#--------------------配置选取数据的时间段------------------------------------
# 设置起始时间
s_date = datetime.datetime.strptime('2022/01/01', '%Y/%m/%d').date()

#设置结束时间
e_date = datetime.datetime.strptime('2022/12/31', '%Y/%m/%d').date()
#--------------------设置选取数据的时间段------------------------------------

data = pd.read_excel('C:\\Users\\Thinkpad\\Desktop\\数据最终处理结果\\测缝计数据表(SJ).xlsx') #打开表格
sjbh = ['SJ1-1', 'SJ1-2', 'SJ1-3', 'SJ2-1', 'SJ2-2', 'SJ2-3', 'SJ3-1', 'SJ3-2', 'SJ3-3', 'SJ4-1', 'SJ4-2', 'SJ5-1', 'SJ5-2', 'SJ5-3', 'SJ6-1', 'SJ6-2', 'SJ6-3', 'SJ7-1', 'SJ7-2', 'SJ7-3', 'SJ8', 'SJ9', 'SJ10', 'SJ11', 'SJ12', 'SJ13']
i = len(sjbh)

#----生成裂缝提取数据文件保存路径并把他们用列表存起来------
k = 0
lf_list_name = [] #临时数据表格中垂直文件
while k < i:
    #获取文件名称中日期
    lf_list_name.append("C:\\Users\\Thinkpad\\Desktop\\临时数据表格\\" + str(sjbh[k]) +".xls")
    k = k + 1


df = pd.DataFrame() #创建一个空的DataFrame
k = 0
while k < len(lf_list_name):
    dq = pd.read_excel(str(lf_list_name[k]))
    dk = pd.Series(dq["R1"])#获取R1列的值转化成Series类型
    df = pd.concat([df, dk], axis=1)
    k = k+1

df.to_excel('C:\\Users\\Thinkpad\\Desktop\\数据最终处理结果\\测缝计数据表(SJ)-最终结果.xlsx')

# 读取转置后的数据
FFD = pd.DataFrame(pd.read_excel('C:\\Users\\Thinkpad\\Desktop\\数据最终处理结果\\测缝计数据表(SJ)-最终结果.xlsx', 'Sheet1'))
# 对列名称进行重新命名
FFD.columns = ['序号', 'SJ1-1', 'SJ1-2', 'SJ1-3', 'SJ2-1', 'SJ2-2', 'SJ2-3', 'SJ3-1', 'SJ3-2', 'SJ3-3', 'SJ4-1', 'SJ4-2', 'SJ5-1', 'SJ5-2', 'SJ5-3', 'SJ6-1', 'SJ6-2', 'SJ6-3', 'SJ7-1', 'SJ7-2', 'SJ7-3', 'SJ8', 'SJ9', 'SJ10', 'SJ11', 'SJ12', 'SJ13']
# 把重新命名的结果重新保存
# 删除未命名列
FFD = FFD[FFD.columns.drop(list(FFD.filter(regex='Unnamed')))]
FFD.to_excel('C:\\Users\\Thinkpad\\Desktop\\数据最终处理结果\\测缝计数据表(SJ)-最终结果.xlsx')




你可能感兴趣的:(excel,python,开发语言)