使用python进行文档合并

最近有个需求有很多零散的文件,需要合并后进行处理,因数量不多就先直接手动处理了,但是当文件数量变多时就不适合手动处理,需要通过代码的形式处理,比如:sql脚本、python脚本,这里我使用了python脚本进行处理
不知道是本人怪长时间没有写python脚本了,感觉在pycharm里面的写法跟记忆中在anaconda里面的写法不一样了,先出一个pycharm版本的,等有空的时候再更新anaconda版本的,看看是真假不一样

  1. pycharm版本代码
# 关闭警示
import warnings    
warnings.filterwarnings("ignore")
# 正式进入拼接文件环节
#导入相关模块
import pandas as pd
import os
path = r"D:\xxxx"  #源文件位置
# 新建一个新的空DataFrame,用于接收文件内容
base_df = pd.DataFrame(columns = ['列名称', '列名称', '列名称', '列名称', '列名称', '列名称',
       '列名称', '列名称', '列名称', '列名称', '列名称', '列名称', '列名称',
       '列名称', '列名称', '列名称', '列名称'])
# 获取文件名称列表
# 1. os.walk(path) 返回3个元组类型的列表,分别为:当前路径、子目录列表、当前路径下文件名称列表
# 2. os.listdir(path) 直接返回文件名称列表

for root ,root_file,file_list in os.walk(path):
    for i in file_list:
        file_path = path + "/" + i    # 获取完整文件路径
        df = pd.read_excel(file_path,skiprows = [0,1])   #读取文件,因为我的文件中前两行是我不需要的内容,故使用 skiprows 这个参数来跳过前两行内容,通过行索引规避
        base_df = base_df._append(df)   # 将每次循环的文件都输入到初始创建的空DataFrame中
        # DataFrame 的增加元素内容使用的是:_append()函数,不是append()函数
# 循环结束,打印合并后的整体内容并输出到制定文件中
print(base_df)  
concat_file = path + "/concat_file.xlsx"
base_df.to_excel(concat_file)
  1. Anaconda版本
#导入数据包
import pandas as pd
import os
#获取文件列表
path = r"D:\to my\file"
file_list = os.listdir(path)
print(file_list)

# 遍历文件内容进行合并
contain = pd.DataFrame(columns = ['列名称', '列名称', '列名称', '列名称', '列名称', '列名称',
       '列名称', '列名称', '列名称', '列名称', '列名称', '列名称', '列名称',
       '列名称', '列名称', '列名称', '列名称'])
to_path = path + "/contain.xlsx"
for file in file_list:
    file_path = path + "/" + file
    df_file = pd.read_excel(file_path,skiprows = [0,1])
    print(df_file.columns)
    contain  = contain.append(df_file)    # 这里和pycharm不一样,
    # 等同于 contain = pd.merge(contain,df_file,axis = 0) # axis = 0,表示为纵向拼接
print(contain)
contain.to_excel(to_path)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值