美文网首页
Python-114 处理GCMS大量excel文件move移动

Python-114 处理GCMS大量excel文件move移动

作者: RashidinAbdu | 来源:发表于2021-08-25 18:18 被阅读0次
  • 处理一堆excel就比较烦,所以噼里啪啦写了以下自动化程序,即:先对某个文件夹里的excel进行筛选移动到某个位置,然后进行合并为csv文件,然后把再转换为xlsx文件,然后再进行sort排序,进行最终的输出!



  • 这是原始数据:

image.png
  • 这是最终的结果:

image.png

  • 完整的代码:
# 重要:安装xlrd时要安装以下这个!
# pip install xlrd==1.2.0
# pip install pandas

#1 Move files based on file extension
import glob
import os
import shutil

src_folder = r"D:\\GCMS-DATA-Management20210825\\GCMS-DATA-FINAL\\GCMS-20210825\\20210803-SCFA-Done"
dst_folder = r"D:\\GCMS-DATA-Management20210825\\GCMS-DATA-FINAL\\GCMS-20210825\\20210803-SCFA-Done\\1\\"

# Search files with .txt extension in source directory
pattern = "\*.xlsx"
files = glob.glob(src_folder + pattern)

# move the files with txt extension
for file in files:
    # extract file name form file path
    file_name = os.path.basename(file)
    shutil.move(file, dst_folder + file_name)
    print('Moved:', file)


#2 Merge xlsx files
import os
import pandas as pd
import numpy as np


dir = "D:\\GCMS-DATA-Management20210825\\GCMS-DATA-FINAL\\GCMS-20210825\\20210803-SCFA-Done\\1"#设置工作路径,读取其中的多个excel表

#新建列表,存放文件名(可以忽略,但是为了做的过程能心里有数,先放上)
filename_excel = []

#新建列表,存放每个文件数据框(每一个excel读取后存放在数据框)
frames = []

for root, dirs, files in os.walk(dir):
    for file in files:

        filename_excel.append(os.path.join(root,file))

        # excel转换成DataFrame
        df = pd.read_excel(os.path.join(root,file))
        frames.append(df)
#打印文件名
print(filename_excel)

 #合并所有数据
result = pd.concat(frames)

#查看合并后的数据
result.head()
result.shape

#Merge and output
result.to_csv('D:\\GCMS-DATA-Management20210825\\GCMS-DATA-FINAL\\GCMS-20210825\\20210803-SCFA-Done\\1.csv',sep=',', index=False)

#3 Transfer csv into xlsx

import openpyxl
import csv

wb = openpyxl.Workbook()
sh = wb.create_sheet('GCMS-DATA')

with open('D:\\GCMS-DATA-Management20210825\\GCMS-DATA-FINAL\\GCMS-20210825\\20210803-SCFA-Done\\1.csv', 'r') as f:
    reader = csv.reader(f)
    for row in reader:
        sh.append(row)

wb.save('D:\\GCMS-DATA-Management20210825\\GCMS-DATA-FINAL\\GCMS-20210825\\20210803-SCFA-Done\\1.xlsx')

#4 sort the data: reference
#https://pythoninoffice.com/sort-excel-data-using-python/
import pandas as pd

df = pd.read_excel('D:\\GCMS-DATA-Management20210825\\GCMS-DATA-FINAL\\GCMS-20210825\\20210803-SCFA-Done\\1.xlsx',sheet_name='GCMS-DATA')

print(df)

#df1=df.sort_index(axis=1)
#print(df1)

#df.sort_values(by='ID')

print(",\,")
df1=df.sort_values(by=['Name'])
print(df1)


df1.to_excel("D:\\GCMS-DATA-Management20210825\\GCMS-DATA-FINAL\\GCMS-20210825\\20210803-SCFA-Done\\Final.xlsx")

  • Reference:
  1. Pandas – Save DataFrame to an Excel file
https://datascienceparichay.com/article/pandas-save-dataframe-to-an-excel-file/
  1. Read multiple Excel sheets with Python pandas
https://pythoninoffice.com/read-multiple-excel-sheets-with-python-pandas/

3.Sort Excel data using Python

https://pythoninoffice.com/sort-excel-data-using-python/
  1. Move Files Or Directories in Python
https://pynative.com/python-move-files/
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_excel.html
https://pythoninoffice.com/tag/integrate-python-with-excel/

相关文章

  • Python-114 处理GCMS大量excel文件move移动

    处理一堆excel就比较烦,所以噼里啪啦写了以下自动化程序,即:先对某个文件夹里的excel进行筛选移动到某个位置...

  • 2020-03-12 整理了一下自己可以讲的内容

    1,Excel 智能填充、函数、自定义函数、powerquery、插件、大量excel文件批量处理 2,word邮...

  • (7)mv命令

    mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系...

  • mv命令使用

    mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系...

  • Linux常用命令之mv

    mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系...

  • Django处理Excel,CSV文件

    1 .处理Excel文件: 通过前台传入Excel文件进行解析 2. 处理CSV文件: 解析本地文件 解析前台传入...

  • shutil模块

    move()移动文件或文件夹 copy(src,dst)复制文件src到文件或目录dst rmtree(dstdi...

  • 处理excel文件

    Excel文件处理

  • 命令行基本概念

    基本单词: direcory目录文件夹/file文件/make新建remove删除/move移动/copy复制li...

  • golang文件操作摘抄

    Truncate文件 得到文件信息 重命名和移动 译者按: rename 和 move 原理一样 删除文件 打开和...

网友评论

      本文标题:Python-114 处理GCMS大量excel文件move移动

      本文链接:https://www.haomeiwen.com/subject/mnreiltx.html