首页 > 编程语言 >python批量处理文件保存到Excel文件中

python批量处理文件保存到Excel文件中

时间:2024-07-08 18:27:35浏览次数:11  
标签:文件 python Excel tk file import path folder root

        获取到了电脑所有软件,但是几百号人员,手动处理太麻烦,用python先读取文件内容,再把内容和文件名和一起保存到Excel表中,好统一处理。

from os import path, listdir
import chardet
import pandas as pd
import tkinter as tk
from tkinter import filedialog
from tkinter import messagebox

def process_files():
    global folder_path
    save_file_name = '总数据.xlsx'
    # 获取目标文件夹下所有txt文件的文件名
    files = [path.join(folder_path, file) for file in listdir(folder_path) if file.endswith('.txt')]

    # 初始化一个空的列表,用于存储数据
    data = {'软件': [], '人员': []}

    # 遍历每个文件
    for your_file in files:
        with open(your_file, 'rb') as file:
            raw_data = file.read()
            result = chardet.detect(raw_data)

        # 使用检测到的编码格式来打开文件
        encoding = result['encoding']
        file_name = path.basename(your_file)
        with open(your_file, 'r', encoding=encoding) as file:
            for line in file:
                data['软件'].append(line.strip())
                file_nameB = path.splitext(file_name)[0]
                data['人员'].append(file_nameB)

    # 创建DataFrame
    df = pd.DataFrame(data)

    # 将DataFrame保存到Excel文件
    output_file_path = path.join(folder_path, save_file_name)
    try:
        df.to_excel(output_file_path, index=False)
        messagebox.showinfo("完成", f"数据已成功保存到 {save_file_name}")
    except Exception as e:
        messagebox.showerror("错误", f"保存文件时出现错误:{e}")

def select_folder():
    global folder_path
    folder_path = filedialog.askdirectory()
    if folder_path:
        start_button.config(state=tk.NORMAL)

# 创建主窗口
root = tk.Tk()
root.title("处理文件")
root.geometry('300x150')
# 文件夹路径和开始按钮
folder_path_label = tk.Label(root, text="选择文件夹:")
folder_path_label.pack(pady=10)

select_button = tk.Button(root, text="选择文件夹", command=select_folder)
select_button.pack()

start_button = tk.Button(root, text="开始处理文件", command=process_files, state=tk.DISABLED)
start_button.pack(pady=10)

root.mainloop()

标签:文件,python,Excel,tk,file,import,path,folder,root
From: https://blog.csdn.net/weixin_52037378/article/details/140179274

相关文章

  • Python运算符
    1.算数运算符     算术运算符包括:“+,-,*,/,%,//,**”。        “%”为求余,通常用来判定奇偶或倍数;        “//”为整除,用于返回整数;        “**”为次方,优先级最高。a,b=3,9print(a+b,b-a,a*b,b/a)print(a**b)print(a**b/a)print......
  • QT中调用python中的函数
    1.创建py文件例如名为“python_script.py”的python文件:#python_script.pydefgreet(name):return"Hello,"+name+"!" 2.Qt的pro文件中包含python的头文件和库INCLUDEPATH+=python解释器的安装目录\includeLIBS+=-Lpython解释器的安装目录\libs-lpyt......
  • vbc.exe 是 Microsoft Visual Basic 编译器的命令行工具。它用于编译 Visual Basic (.
    vbc.exe是MicrosoftVisualBasic编译器的命令行工具。它用于编译VisualBasic(.NET)的源代码文件(.vb文件)到可执行文件或者库文件(例如.exe或.dll)。vbc.exe提供了一种方式来将VisualBasic源代码编译成在.NETFramework或.NETCore平台上可执行的程序。......
  • csc.exe 是 Microsoft Visual C# 编译器的命令行工具。它用于编译 C# 源代码文件 (.cs
    csc.exe是MicrosoftVisualC#编译器的命令行工具。它用于编译C#源代码文件(.cs文件)到可执行文件或者库文件(例如.exe或.dll)。具体来说,csc.exe是用来将C#源代码编译成.NETFramework或.NETCore平台上的可执行文件或者库的工具。以下是一些常见用途和特点:......
  • python C API常用函数介绍
    PythonCAPI提供了一组函数和宏,允许开发者在C或C++代码中与Python解释器进行交互。以下是一些常用的PythonCAPI函数和宏:1.**初始化和结束Python解释器**:-`Py_Initialize()`:初始化Python解释器。-`Py_Finalize()`:结束Python解释器。-`Py_SetProgramNam(cons......
  • 使用Python下载Bing每日一图并设置为壁纸
    简介Bing搜索引擎每天都会展示一张精美的图片,这些图片不仅美丽,而且常常包含有趣的信息。想象一下,每天打开电脑,都能看到这样的美景,是不是很棒呢?本文将介绍如何使用Python脚本自动化下载Bing每日一图,并将其设置为我们的桌面壁纸。环境准备在开始之前,请确保你的计算机上安装了Pyth......
  • 获取Echarts的geoJson文件(省市/区县)
    1.获取市的级别直接使用阿里云提供的工具直接获取: https://datav.aliyun.com/portal/school/atlas/area_selector#&lat=32.62087018318113&lng=118.43261718749999&zoom=4和 https://map.easyv.cloud/和 https://geojson.hxkj.vip/  2.获取县和区的细到街道的geoJson,需......
  • 如何优化Java中的文件读写性能?
    如何优化Java中的文件读写性能?大家好,我是微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!1.使用缓冲流提升文件读写效率1.1.使用BufferedInputStream和BufferedOutputStream在Java中,使用缓冲流可以显著提升文件读写的效率,尤其是对于大文件而言。以下是一个简单......
  • Python OpenCv对规则物体进行实时检测
    前言很多情况需要对物体进行检测,常规的方法也有很多种。但是检测出来的边缘一般都是非常多,结果也是非常杂乱的,显然这种结果不是我们想要的。如果颜色相较于背景非常鲜艳的可以调节hsv阈值再进行检测,如果是一直在运动的物体可以通过帧差法进行物体检测,还有很多高深的算法也可以进......
  • Laravel Excel导出功能:高效实现数据导出
    Laravel是一个功能丰富的PHPWeb开发框架,它提供了许多内置功能来简化开发过程。其中,LaravelExcel导出功能是处理数据导出任务的强大工具。通过使用Maatwebsite的LaravelExcel包,开发者可以轻松地将数据集导出为Excel文件,这对于报告生成、数据备份和用户数据下载等场景非常......