精华内容
下载资源
问答
  • 主要为大家详细介绍了Python将多excel文件合并为一个文件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 主要介绍了C#实现合并word文档的方法,是C#针对Word文档操作的一非常重要的技巧,需要的朋友可以参考下
  • 合并Excel文件的方法 多个文件内容简单放到一文件里
  • 用shell脚本合并个文件内容

    千次阅读 2017-11-08 11:26:18
    现有多具有相同命名格式及内容格式的文件,要求编写shell脚本将它们合并到一个文件中。 被合并文件的命名格式为:YYYYMMDDHHMISS.r,例如:20161018030205.r;文件中包含了若干行记录,每行记录包含26字符,...

    需求描述 
    现有多个具有相同命名格式及内容格式的文件,要求编写shell脚本将它们合并到一个文件中。

    被合并文件的命名格式为:YYYYMMDDHHMISS.r,例如:20161018030205.r;文件中包含了若干行记录,每行记录包含26个字符,其中第一个字符为标识位,第7到12个字符为时间(格式:YYMMDD),例如:000000161019002925000003N0,该记录的第一个字符0为标识位,第7到12个字符161019表示时间,即16年的10月19日;合并之后的文件的命名格式为:YYYYMMDD.txt,例如:20161018.txt。

    对于合并操作,具体要求为: 
    1)当天只合并前一天的文件,如今天(10月20日)只合并昨天(10月19日)的文件,文件时间通过文件命名即可看出。

    2)标识位为0的记录会被写到合并之后的文件中,其他记录将被过滤掉。

    3)时间(即第7到12个字符的值)为前一天的记录会被写到合并之后的文件中,其他记录将被过滤掉。

    shell脚本

    #!/bin/bash
    
    srcparh=/home/zhou/src
    exportpath=/home/zhou/export
    linenum=0
    
    return_fail()
    {
        exit 1
    }
    
    function check_config_dir
    {
        if [ ! -d ${srcparh} ];then
            echo "[error]:${srcparh} has not existed!!"
            return_fail
        fi
    
        if [ ! -d ${exportpath}]; then
            echo "[error]:${exportpath} has not existed!!"
            return_fail
        fi
    }
    
    function merge_file
    {
        ##YESTERDAY DATE YYMMDD
        YES_DATE_YY=`date -dyesterday +%y%m%d`
    
        ##YESTERDAY filename
        YES_FILENAME=`date -dyesterday +%Y%m%d`.txt
    
        ONE_DAY_AGO=`date -dyesterday +%y%m%d`
    
        echo"YESTERDAY:${ONE_DAY_AGO}"
    
        echo "`date+%Y-%m-%d` `date +%T`----begin to merge file"
    
        if [ -s ${YES_FILENAME}]; then
            echo "warn:yesterday file ${YES_FILENAME} has existed!! now backup it to${YES_FILENAME}_bak."
            mv ${YES_FILENAME}${YES_FILENAME}_bak
        fi
    
        cd ${srcparh}
    
        file_list_temp=`ls | grep-E "${ONE_DAY_AGO}"`
        file_list_count=`ls |grep -E "${ONE_DAY_AGO}" | wc -l`
    
        echo " "
        echo "there are${file_list_count} yesterday file(s) to be merged."
        echo " "
    
        >${exportpath}/${YES_FILENAME}
    
        for file_name in$file_list_temp
        do
             echo "now to merge ${file_name}"
             cat ${file_name} | grep "^0" >${file_name}_filter_firstline
    
            while read line
            do   
                 echo ""
                 echo "nowto deal this line: ${line}"     
                 echo ""
    
                 start_data=+${line:6:6}+
    
                 echo"${start_data}" | grep "+${ONE_DAY_AGO}+"
                 if [ $? -eq 0 ]
                 then   
                     echo"${line}" >> ${exportpath}/${YES_FILENAME} 
                                linenum=$[linenum+1]
                 fi            
            done <${file_name}_filter_firstline
    
            rm*_filter_firstline  
        done    
    
        if [ ${linenum} -gt 0 ]
        then
            echo "Totally ${linenum} lines havemerged."
        fi
    
        if [ ! -s${exportpath}/${YES_FILENAME}  ]
        then
            echo "warn:there is no yesterday file record!!,${exportpath}/${YES_FILENAME} isblank!"
            echo " ">${exportpath}/${YES_FILENAME}
        fi                   
    }  
    
    main()
    {
        echo "  "
    
        echo "this mergetool begins running --------------------"
    
        check_config_dir;
    
        merge_file;
    
        echo"-------------end ---------------------"
    }
    
    ## Execute main function
    main $*
     
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100
    • 101
    • 102
    • 103
    • 104
    • 105

    脚本说明 
    第一,在脚本的第3到5行,定义了三个变量,其中srcparh用于存放被合并的文件,exportpath用于存放合并之后的文件,linenum用于表示本次写到合并之后的文件中的记录的条数。

    第二,return_fail用于在执行出现异常(如srcparh或exportpath所表示的路径不存在)时退出程序而不进行后续处理。

    第三,check_config_dir函数用于检查srcparh或exportpath所表示的路径是否存在,如不存在,则不进行后续处理。

    第四,merge_file函数是本脚本的核心,它的主要功能是找出srcparh下满足时间条件的文件,并按照需求要求将文件中的记录筛选出来,放到结果文件中。如果有满足条件的记录,那么脚本会显示写入到结果文件中的记录的条数。

    第五,main函数是整个程序的入口(就像C语言中的main函数一样),它调用了check_config_dir和merge_file函数。

    脚本执行结果 
    第一,当srcparh所表示的路径不存在时,执行结果如下:

    > ./file_merge_tool.sh
    
    this merge tool begins running --------------------
    [error]: /home/zhou/src has not existed!!
     
    • 1
    • 2
    • 3
    • 4

    第二,当exportpath所表示的路径不存在时,执行结果如下:

    > ./file_merge_tool.sh
    
    this merge tool begins running --------------------
    [error]: /home/zhou/export has not existed!!
     
    • 1
    • 2
    • 3
    • 4

    第三,当srcparh所表示的路径存在但不包含任何文件时,执行结果如下:

    > ./file_merge_tool.sh
    
    this merge tool begins running --------------------
    YESTERDAY:161019
    2016-10-20 16:30:06----begin to merge file
    
    there are 0 yesterday file(s) to be merged.
    
    warn: there is no yesterday filerecord!!,/home/zhou/export/20161019.txt is blank!
    -------------end ---------------------
     
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    第四,现有四个文件20161018030205.r、20161019030254.r、20161019182531.r、20161019213456.r,每个文件的内容如下: 
    20161018030205.r文件:

    000000161019002925000003N0 
    000000161019002931000003N0 
    300000161018002931000003N0 
    000000161019002926000009Y0 
    000000161019003150000003N0

    20161019030254.r文件:

    000000161019004925000003N0 
    000000161019006931000003N0 
    100000161019006971000004N0 
    000000161019007926000009Y0 
    200000161019006871000004N0 
    000000161019008150000003N0

    20161019182531.r文件:

    000000161019001925000003N0 
    000000161019004931000003N0 
    000000161018007926000009Y0 
    000000161019007926000009Y0 
    000000161019009150000003N0 
    000000161017007926000009Y0 
    600000161019007426000009Y0

    20161019213456.r文件:

    000000161019002925000003N0 
    000000161019002931000003N0 
    000000161019002926000009Y0 
    800000161019002961000003N0 
    000000161019003150000003N0

    将它们上传到srcparh目录下,运行脚本,结果如下:

    > ./file_merge_tool.sh
    
    this merge tool begins running --------------------
    YESTERDAY:161019
    2016-10-20 17:08:24----begin to merge file
    
    there are 3 yesterday file(s) to be merged.
    
    now to merge 20161019030254.r
    
    now to deal this line: 000000161019004925000003N0
    
    +161019+
    
    now to deal this line: 000000161019006931000003N0
    
    +161019+
    
    now to deal this line: 000000161019007926000009Y0
    
    +161019+
    
    now to deal this line: 000000161019008150000003N0
    
    +161019+
    now to merge 20161019182531.r
    
    now to deal this line: 000000161019001925000003N0
    
    +161019+
    
    now to deal this line: 000000161019004931000003N0
    
    +161019+
    
    now to deal this line: 000000161018007926000009Y0
    
    
    now to deal this line: 000000161019007926000009Y0
    
    +161019+
    
    now to deal this line: 000000161019009150000003N0
    
    +161019+
    
    now to deal this line: 000000161017007926000009Y0
    
    now to merge 20161019213456.r
    
    now to deal this line: 000000161019002925000003N0
    
    +161019+
    
    now to deal this line: 000000161019002931000003N0
    
    +161019+
    
    now to deal this line: 000000161019002926000009Y0
    
    +161019+
    
    now to deal this line: 000000161019003150000003N0
    
    +161019+
    Totally 12 lines have merged.
    -------------end ---------------------
     
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67

    对照被合并的文件和结果文件,一共有4个文件,但只有3个文件(20161019030254.r、20161019182531.r、20161019213456.r)满足时间条件,这3个文件中满足过滤条件(标识位为0、时间为前一天)的记录条数为12条,和脚本执行结果一致。

    大家也可对本脚本进行更多的测试。

    总结 
    shell脚本在基于Linux的开发中有极为广泛的应用,因为它靠近底层,执行效率高、部署方便。本文中的脚本也可以作为定时任务部署到机器上,让它在每天的同一个时间里自动执行。

    当然,要想编写出功能强大的shell脚本,其前提条件是大家必须要对shell脚本的语法非常的熟悉,这也可以看出基本功的重要性。

    展开全文
  • xmind文件合并

    2017-08-08 10:57:16
    java swing实现的多xmind文件合并成一xmind文件
  • PDF合并 绿色版 合并pdf到一pdf文件
  • 合并txt文件内容终极方法

    千次阅读 2017-07-30 09:40:10
    第一步:win7——cmd 第二步:打开当前存储多txt文件的文件夹 "cd 文件夹名字" 第三步:运行命令:type *.txt >>f:\1.txt (注意空格)

    第一步:win7——cmd


    第二步:打开当前存储多个txt文件的文件夹 "cd 文件夹名字"


    第三步:运行命令:type  *.txt  >>f:\1.txt (注意空格)





    展开全文
  • 怎么把100多EXCEL文件合并成一?_EXCEL_电脑软件_编程_天涯问答_天涯社区 http://wenda.tianya.cn/question/3604d101e5cb8330
  • 有时候需要将数十甚至上百txt或其他格式的文件内容合并到一起,如果一个个复制粘贴显然太费功夫,因此可以用代码实现文件内容合并。 代码示例: import os import linecache def combine_file(): # ...

    问题场景:

    有时候需要将数十个甚至上百个txt或其他格式的文件内容合并到一起,如果一个个复制粘贴显然太费功夫,因此可以用代码实现文件内容的合并。

    代码示例:

    import os
    import linecache
    
    
    def combine_file():
    
        # 读取指定路径下的所有文件并放入到列表中
        root = input('please input the dir:')
        file_names = os.listdir(root)
        print(file_names)
        file_ob_list = []
        for file_name in file_names:
            fileob = root + '/' + file_name
            file_ob_list.append(fileob)
        print(file_ob_list)
    
        # 对每个文件,按行读取文件内容并放入同一个列表data中
        data = []
        for file_ob in file_ob_list:
            line_num = 1
            length_file = len(open(file_ob, encoding='utf-8').readlines())
            print(length_file)
            while line_num <= length_file:
                line = linecache.getline(file_ob, line_num)
                line = line.strip()
                data.append(line)
                line_num = line_num + 1
    
        # 将data内容写入到生成的txt文件中,注意编码问题
        f = open('./combine_data.txt', 'w+', encoding='utf-8')
        for i, p in enumerate(data):
            print(i, p)
            f.write(p+'\n')
        f.close()
    
    
    combine_file()
    

     代码解析:

    其实主要是三步:指定路径、读取到列表、写入文件,这中间用到了python的os和linecache模块,前者可以显示指定目录下的文件名,后者可以读取指定行的文件内容。

     

    展开全文
  • #os module consists of many functions about file and directory processing import os #获取目标文件夹的路径 meragefiledir = os....#获取当前文件夹中的文件名称列表 filenames=os.listdir(meragefiledir)
    #os module consists of many functions about file and directory processing
    import os  
    #获取目标文件夹的路径  
    meragefiledir = os.getcwd()+'\\PPG_train'  
    #获取当前文件夹中的文件名称列表  
    filenames=os.listdir(meragefiledir)  
    #获取输出文件的路径 
    file=open('PPG_train.txt','w')  
    #向文件中写入字符  
    #file.write('test\n')  
       
    for filename in filenames:  
        filepath=meragefiledir+'\\'+filename    
        for line in open(filepath):  
            file.writelines(line)  
        file.write('\n')  
    
    file.close()  

    展开全文
  • 如何把几个Excel文件合并在一起

    千次阅读 2020-05-12 21:49:05
    如何把几个Excel文件合并在一起#### 几个Excel文件内的数据格式都差不多,现在我们需要把它们合并在一个Excel表格当中。 新建一个Excel文件 右键单击Sheet1,选择“查看代码” 在对话框中输入以下代码 sub 合并当前...
  • 主要介绍了BAT批量去除文件首行以及批量合并文件脚本,本文直接给出实例代码,需要的朋友可以参考下
  • 一、多个文档按顺序合并 首先直接双击极速PDF编辑器的快捷方式并运行软件,点击软件右上角“文件”选项卡中的“合并”进入操作; 接着在弹窗中选择右侧面板中的添加文件后选择所有需要的PDF文件上传,也可以提前将...
  • 实现步骤: ...2、使用cd命令进入到待合并的文件所在的文件夹中 3、然后输入 “copy *.sql all.sql...1、合并后的文件,需要检查一下文件内容的头部和尾部,自行删除一下多余的内容(我的只多了一下下面的这东西) ...
  • 方法一:bat方法 copy *.txt 合并文档.txt
  • 主要介绍了python实现将两文件夹合并至另一文件夹(制作数据集),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 现在有多txt文本文件,需要把这么多个文件内容都放到一个文件中去 以下是实现代码 package com.SBgong.test; import java.io.*; public class FileCombine { public static void main(String[] ...
  • 有些时候我们需要将多个WPS文档合并成一个文档,如我们写系列文章的时候是一篇一个文档保存,最后写完之后想将他们合并成一个WPS文档便于转换PDF格式输出。除了一个个文档打开然后复制粘贴到新文档外,我们还可以...
  • 将文件夹下面若干文件夹中同名文件EXCEL进行合并到另一个文件
  • 大家平时在进行excel表格文件处理时,经常碰到需要多个excel文件合并成一个excel表格文挡,并且每个文档都保存在一个单独的sheet工作表中,一个一个的复制粘贴又费时又费力。 不过,由于excel支持VBA代码操作,了解...
  • Spark合并输出小文件

    2021-01-20 12:44:08
    在Spark SQL执行etl时候会有最终结果大小只有百k,但是小文件分区有上千的情况。危害: HDFS有最大文件数限制 浪费磁盘资源(可能存在空文件) Hive中进行统计,计算的时候,会产生很多map,影响计算的速度 ...
  • 转载自:将多txt文件合并成一
  • 当一文件夹下有很多的较小的文本文件,我们希望将其合并成一个文件,可以使用cat 文件夹名/* > 文件名 如/home/user/sougou/目录下有5001M大小的文本文件,我们希望将其合并成一个文件: 先cd到家目录下:...
  • 1.添加系统引用Microsoft.Office.Interop.Word; 2.相关的函数说明 WdDocumentType 枚举 (Word) 指定文档类型。 名称 值 说明 wdTypeDocument 0 文档。 wdTypeFrameset 2 框架集。 wdTypeTemplate 1 ...
  • 要求:使用第三方模块操作,比如xlrd、xlwt等,还需要注意一excel中有多sheet,也需要合并。 xlrd: 读取表格里的内容 xlwt与xlsxwriter: 将对应的信息写进表格里面,任选其一都可,但这两模块都不支持修改...
  • 怎么把几个PDF文件合并成一个PDF

    万次阅读 2017-02-17 11:14:15
    有时一份pdf文档资料会被分成多部分,在整理的时候可能需要将这些文件合并到一起,那么怎样可以将这多pdf文件合并成一呢?下面就教你怎样用PDF编辑器对pdf文件进行合并。  ​ 方法/步骤 用PDF编辑器...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 399,865
精华内容 159,946
关键字:

如何合并几个文档内容