精华内容
下载资源
问答
  • 最近帮一个老师处理数据,结果他发给我的是一堆excel文件,而且每个excel文件又包含很sheet,所以想把这些sheet整合成一个csv文件,但excel的“另存为”只支持当前sheet的操作,如果一个个文件一个个sheet的操作...

    作者:WenWu_Both
    出处:http://blog.csdn.net/wenwu_both/article/
    版权:本文版权归作者和CSDN博客共有
    转载:欢迎转载,但未经作者同意,必须保留此段声明;必须在文章中给出原文链接;否则必究法律责任

    最近帮一个老师处理数据,结果他发给我的是一堆excel文件,而且每个excel文件又包含很多sheet表,所以想把这些sheet整合成一个csv文件,但excel的“另存为”只支持当前sheet的操作,如果一个个文件一个个sheet的操作过来,实在是费事,所以想到了调用excel的VBA,很轻松的完成了任务,怕后面遗忘了,所以记录一下:

    (1)sheet表转成csv文件

    VBA代码:

    Sub SaveToCSVs()
        Dim fDir As String
        Dim wB As Workbook
        Dim wS As Worksheet
        Dim fPath As String
        Dim sPath As String
        fPath = "C:\Users\JiaoTong\Desktop\data\"
        sPath = "D:\csvdata\"
        fDir = Dir(fPath)
        Do While (fDir <> "")
            If Right(fDir, 4) = ".xls" Or Right(fDir, 5) = ".xlsx" Then
                On Error Resume Next
                Set wB = Workbooks.Open(fPath & fDir)
                'MsgBox (wB.Name)
                For Each wS In wB.Sheets
                    wS.Copy 'to a new workbook
                    wS.SaveAs sPath & wB.Name & ".csv", xlCSV
                Next wS
                wB.Close False
                Set wB = Nothing
            End If
            fDir = Dir
            On Error GoTo 0
        Loop
    End Sub

    其中’fPath’为存放原始数据(excel文件)的路径
    ‘sPath’为存放生成数据(csv文件)的路径

    这里写图片描述

    上述代码是将文件夹里所有excel文件的所有sheet表均转化成csv,如果有些sheet表不想导出,可以先选择好想要导出的sheet表,然后执行以下代码:

    Option Explicit
    Sub ExportSelectionToCSV()
        Dim wks As Worksheet
        Dim newWks As Worksheet
        For Each wks In ActiveWindow.SelectedSheets
            wks.Copy 'to a new workbook
            Set newWks = ActiveSheet
            With newWks
                Application.DisplayAlerts = False
                .Parent.SaveAs Filename:="D:\csvdata\" & .Name, _
                    FileFormat:=xlCSV
                Application.DisplayAlerts = True
                .Parent.Close savechanges:=False
            End With
        Next wks
    End Sub

    (2)多个csv文件合并

    第一步将文件夹里的所有excel文件的所有sheet表均转化成了csv文件,下面我们将这些csv文件合并成一个csv文件。

    运行cmd文件,切换到存放csv的文件夹,执行以下命令:

    copy *.csv all_data.csv

    即将文件夹里的所有csv文件合并成all_data.csv文件。

    这里写图片描述

    (3)导入数据库

    导入数据库我就不多讲了吧,选择合适的数据库执行导入即可(MySQL,Oracle,MongoDB等)

    PS: 其实这个过程也可以编写Python脚本实现,有兴趣的可以试一下。

    展开全文
  • 今天小编就为大家分享一篇python 实现读取一个excel多个sheet表合并的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 如何将多个EXCEL表格中的信息合并到一个表格中?多个Excel批量合并的... 或者多个Excel文件合并(相同名称的Sheet表合并) 或者 点击多个Excel按按相同列合并(对齐合并) 注意要使用谷歌浏览器 无需vba,无需...

    如何将多个EXCEL表格中的信息合并到一个表格中?介绍一个无需安装的对多个Excel进行批量汇总合并的绿色工具

            最新版支持合并加入文件名、sheet名,请到网站看新工具页面,无需安装,直接网页使用

    进入网址:http://www.excelfb.com/,点击 批量合并  中的

                              多个Excel文件合并(合并到一个表)

                      或者 多个Excel文件合并(相同名称的Sheet表合并)

                      或者 多个Excel按按相同列合并(对齐合并)

    注意要使用谷歌浏览器

    无需vba,无需了解宏,一键合并,下载最新Excel即可,本工具对谷歌浏览器支持比较好,其他浏览器可能用起来有问题

    使用如下:

    使用情况一、     没有任何条件所有都合并到一个表

     

    合并情况二、所有表去表头合并到一个表

    合并情况三、按Sheet名合并到一个Excel文件,相同名称合并

    合并情况四 、按某几列内容相同的行的合并在一起

     

    展开全文
  • 功能:多个excel文件合并到一个文件中的多个sheet表中(即一个文件对应一个sheet,且只合并每个源文件的第一个sheet表格) 步骤1:把多个excel文件放到同一个文件夹中 步骤2:在该文件夹中新建一个excel文件...

    功能:多个excel文件合并到一个文件中的多个sheet表中(即一个文件对应一个sheet表,且只合并每个源文件的第一个sheet表格)

     

    步骤1:把多个excel文件放到同一个文件夹中

    步骤2:在该文件夹中新建一个excel文件,并打开

    步骤3:在打开的文件中sheet上右击,选择查看代码

    步骤4:在红框区域输入代码,点击运行即可

     

     

     

    代码:

     

    '功能:把多个excel工作簿的第一个sheet工作表合并到一个excel工作簿的多个sheet工作表,新工作表的名称等于原工作簿的名称
    Sub Books2Sheets()


    '定义对话框变量

    Dim fd As FileDialog
    Set fd = Application.FileDialog(msoFileDialogFilePicker)        '新建一个工作簿
    Dim newwb As Workbook
    Set newwb = Workbooks.Add
    With fd
    If .Show = -1 Then
    '定义单个文件变量
    Dim vrtSelectedItem As Variant
    '定义循环变量
    Dim i As Integer
    i = 1
    '开始文件检索
    For Each vrtSelectedItem In .SelectedItems
    '打开被合并工作簿
    Dim tempwb As Workbook
    Set tempwb = Workbooks.Open(vrtSelectedItem)
    '复制工作表
    tempwb.Worksheets(1).Copy Before:=newwb.Worksheets(i)
    '把新工作簿的工作表名字改成被复制工作簿文件名,这儿应用于xls文件,即Excel97-2003的文件,如果是Excel2007,需要改成xlsx
    newwb.Worksheets(i).Name = VBA.Replace(tempwb.Name, ".xlsx", "")
    '关闭被合并工作簿
    tempwb.Close SaveChanges:=False
    i = i + 1
    Next vrtSelectedItem
    End If
    End With
    Set fd = Nothing
    End Sub

    展开全文
  • 使用Python将多个excel的多个sheet合并到一个excel ##读取Excel文件 import xlrd ##将文本写入excel文件 import xlsxwriter ##读取excel文件 def getexcel(excel): f=xlrd.open_workbook(excel) return f ##获取...

    使用Python将多个excel的多个sheet页合并到一个excel

    ##读取Excel文件
    import xlrd
    ##将文本写入excel文件
    import xlsxwriter

    ##读取excel文件
    def getexcel(excel):
    f=xlrd.open_workbook(excel)
    return f

    ##获取excel中的所有sheet表
    def getsheet(excel):
    return getexcel(excel).sheets()

    ##获取excel的sheet表个数
    def getsheetnum(excel):
    n=0
    sheets=getsheet(excel)
    for i in sheets:
    n+=1
    return n

    ##获取excel每个sheet表的行数
    def getsheetrows(excel,sheetpage):
    table=getsheet(excel)[sheetpage]
    return table.nrows

    ##读取excel文件并返回行内容
    def getexcelfile(excel,sheetpage):
    table=getsheet(excel)[sheetpage]
    rows=table.nrows
    datavalue=[]
    for row in range(rows):
    ##返回该行中所有单元格数据组成的列表
    data=table.row_values(row)
    datavalue.append(data)
    return datavalue

    if name == ‘main’:
    excel=[‘C:\Users\17534\Desktop\excelone.xlsx’,‘C:\Users\17534\Desktop\exceltwo.xlsx’,]
    datavalue=[]
    ##循环取得第n个excel
    for n in range(len(excel)):
    sheetnum = getsheetnum(excel[n])
    ##循环返回第n个excel的第i个sheet页
    for i in range(sheetnum):
    data=getexcelfile(excel[n],i)
    print('正在读取第 ’ + str(n) + ’ 个excel的第 ’ + str(i) + ’ sheet页的内容 ')
    ##将第n个excel的第i个sheet页的第j行单元格数据追加到列表中
    for j in range(len(data)):
    datavalue.append(data[j])

    ##定义合并后的目标文件
    endexcel=‘C:\Users\17534\Desktop\excelmerge.xlsx’
    wb=xlsxwriter.Workbook(endexcel)
    ws=wb.add_worksheet()
    for i in range(len(datavalue)):
    for j in range(len(datavalue[i])):
    k=datavalue[i][j]
    ws.write(i,j,k)
    wb.close()

    展开全文
  • 最近有两个需求,第一是要求把指定目录下多个结构相同的excel合并为一个excel,每个excel都对应合并后的一个sheet;第二是要求把指定目录下多个结构相同的excel合并为一个sheet,并在合并后的sheet添加一列,标识...
  • 一个可以将多个SHEET文件自动合并到同一个SHEET的宏插件
  • 5import xlrd 6file = r"G:\Jupyter\test.xlsx" 7xlrd.open_workbook(file) 8# 结果如下: 9 10 112)sheet_names():获取所有的sheet表表名,假如有多个sheet表,返回一个列表; 12import xlrd 13file = r...
  • 可以看到我们这里是有多个sheet的数据需要合并的 第二部:选中需要合并的sheet鼠标右键查看代码 第三步:进入编辑模式只需要粘贴我们的代码就OK啦 ```vbnet Sub 合并当前工作簿下的所有工作() Application....
  • 参考 http://ask.csdn.net/questions/234908#answer_212705 Excel VBA 实现,几个Sheet中的数据合并到一个Sheet中。
  • Python CSV 合并多个sheet工作

    千次阅读 2021-01-21 11:26:30
    将多个CSV文件,合并到一个Excel文件中的,多个sheet工作。 前言 网上大多方法都是将csv直接合并在一起,也不分别创建sheet。 还有一些解答说CSV不支持合并多个sheet表。 网上有用宏命令的,我试了,但是...
  • python读取一个excel多个sheet表合并

    万次阅读 2018-01-04 19:33:25
    df = pd.read_excel(excel_name, sheet_name=i, skiprows=2, index=False, encoding='utf8') df_28 = df_28.append(df) # 去除缺省值 df_28 = df_28.dropna() df_28 = df_28.reset_index(drop=True) print(len(df_...
  • 按顺序合并多个sheet的多个excel文件。 在业务中,遇到要合并一个文件夹下多个包含同名、同顺序sheet的xlsx文件,通过python3,参考(copy大部分)代码: https://www.cnblogs.com/zlhuan/p/8011304.html 除此之外...
  • 合并sheet页, 合并excel文档, 合并工作, 合并工作簿合并工作(sheet)合并多个工作 仅适用于每个sheet的第一行是数据头,数据从第二行开始。Sub 合并工作() Dim J As Integer On Error Resume Next Sheets...
  • 以上这篇python 实现读取一个excel多个sheet表合并的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。 原文链接:...
  • 1、将要合并的Excel放在同一个...'功能:把多个excel工作簿的第一个sh eet工作表合并到一个excel工作簿的多个sheet工作,新工作的名称等于原工作簿的名称 Sub Books2Sheets() '定义对话框变量 Dim fd As Fi...
  • excel,多个文件合并到一个文件的多个sheet
  • 实现的功能是把多个Excel文件的第一个工作Sheet合并到一个Excel文件的多个工作里,并且新工作的名称等于原Excel文件的文件名。开发环境Excel2007,但是Excel2003应该也能用,Excel2000似乎不能用。 ...
  • Excel——多个Sheet合并成一个

    千次阅读 2020-10-22 09:16:43
    import xlrd import pandas as pd from pandas import DataFrame from openpyxl import load_workbook excel_name = '文件路径/文件名.xlsx' ...sheets = wb.sheet_names() # print(sheets) # 循环遍历所有sheet a...
  • Excel合并多个sheet表格

    2017-11-04 14:23:40
    %多个excel表合并多个sheet %1、在合并数据的文件夹中新建excel,并重新命名 %2、打开此工作薄。 %3、%在EXCEl界面按Alt+F11打开VBA编辑器,插入新的模块(插入/模块), % 或者在任意一个sheet名称上点右键,选择...
  • #在哪里搜索多个表格 filelocation="/Users/suyue/Desktop/ddd/" #当前文件夹下搜索的文件名后缀 fileform="xls" #将合并后的表格存放到的位置 filedestination="/Users/suyue/Deskt...
  • 最近在项目中客户提到一个新的需求,一开始是在列表查询时导出多个Excel表格,后面提到将多个Excel表格进行合并,实现一个sheet显示多个sheet内容,图示如下: 一开始: 合并后(不同表格空一行隔开): 二。实现...
  • 一个excel中有多个sheet,如何将多个sheet合并成同一个sheet(那几个sheet数据格式一致,比如说第一行的表头一致) 先准备数据(一个excel里有多个需要合并的sheet) ①需要合并的sheet ②每个sheet里的表头(一致的数据...
  • 1. 宏合并(简易宏合并): Sub 合并当前工作簿下的所有工作() Application.ScreenUpdating = False For j...
  • 这里写自定义目录标题将多个dataframe合并到已知excel中个多个sheet中方法一:由openpyxl作为ExcelWriter的engine方法二:设置ExcelWriter的写入模型,以追加的方式写入 将多个dataframe合并到已知excel中个多个...
  • Excel多个工作Sheet合并

    千次阅读 2011-08-08 12:43:57
    这里是指多个工作不是指工作簿 我有一个工作簿里有200个工作(Sheet1-Sheet200)。这200个sheet里都是表格。内容区域里的表头和格式,行数,列数都相同,唯有单元格内的内容不同。 我现在想在Sheet201里收集...
  • '功能:把多个excel工作簿的第一个sheet工作表合并到一个excel工作簿的多个sheet工作,新工作的名称等于原工作簿的名称 Sub Books2Sheets() '定义对话框变量 Dim fd As FileDialog Set fd = Application....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 18,622
精华内容 7,448
关键字:

多个sheet表合并