颂风侯 发表于 2024-9-29 15:30:20

将txt导入到excel

需要将一个txt文件导入到excel文件,要求如下:
需要做一个图形界面,用于指定需要转换的txt文件,并且指定生成的excel的放置文件夹,excel命名为“转换后excel.xlsx”


txt文件内容如下,列出两行作为说明
CA-03-15-A1B-N            S1    BW    φ60.3*4.0,S30408-
CA-03-15-A1B-N            S2    BW    φ60.3*4.0,S30408-

需要导入到excel,对excel第一行指定文本内容,从第二行填写txt的内容,如下
管线号        焊缝编号        焊接类型        主要信息
CA-03-15-A1B-N        S1        BW                蠁60.3*4.0,S30408-
CA-03-15-A1B-N        S2        BW                 蠁60.3*4.0,S30408-

求助各路大神,主要有点懒,都不想慢慢写了。

FishC 发表于 2024-9-29 15:30:31

你可以使用Python来实现这个任务。我们将使用`tkinter`库创建图形界面,让用户选择txt文件和输出文件夹,同时用`pandas`库处理文件转换并保存为Excel文件。以下是详细的代码步骤:

1. 安装需要的库:
    pip install pandas openpyxl

2. 编写代码:

import tkinter as tk
from tkinter import filedialog, messagebox
import pandas as pd

def load_txt():
    txt_file_path = filedialog.askopenfilename(filetypes=[("Text files", "*.txt")])
    if txt_file_path:
      txt_entry.delete(0, tk.END)
      txt_entry.insert(0, txt_file_path)

def save_excel():
    output_folder_path = filedialog.askdirectory()
    if output_folder_path:
      output_entry.delete(0, tk.END)
      output_entry.insert(0, output_folder_path)

def convert():
    txt_file_path = txt_entry.get()
    output_folder_path = output_entry.get()
   
    if not txt_file_path or not output_folder_path:
      messagebox.showerror("Error", "Please select both the input file and the output folder.")
      return
   
    # 读取txt文件内容
    try:
      with open(txt_file_path, 'r', encoding='utf-8') as f:
            data = f.readlines()
      
      # 预处理txt内容
      rows = []
      for line in data:
            parts = line.strip().split()
            if len(parts) >= 4:
                # 按照给定格式将信息进行拼接
                row = , parts, parts, ' '.join(parts).replace('φ', '')]
                rows.append(row)
      
      # 创建DataFrame并保存为Excel
      df = pd.DataFrame(rows, columns=['管线号', '焊缝编号', '焊接类型', '主要信息'])
      output_path = f"{output_folder_path}/转换后excel.xlsx"
      df.to_excel(output_path, index=False)
      messagebox.showinfo("Success", f"Excel file has been saved to {output_path}")
   
    except Exception as e:
      messagebox.showerror("Error", str(e))

# 创建图形界面
root = tk.Tk()
root.title("Txt to Excel Converter")

# 输入txt文件路径
tk.Label(root, text="选择Txt文件:").grid(row=0, column=0, padx=10, pady=10, sticky='w')
txt_entry = tk.Entry(root, width=50)
txt_entry.grid(row=0, column=1, padx=10, pady=10)
tk.Button(root, text="浏览...", command=load_txt).grid(row=0, column=2, padx=10, pady=10)

# 输出Excel文件夹路径
tk.Label(root, text="选择输出文件夹:").grid(row=1, column=0, padx=10, pady=10, sticky='w')
output_entry = tk.Entry(root, width=50)
output_entry.grid(row=1, column=1, padx=10, pady=10)
tk.Button(root, text="浏览...", command=save_excel).grid(row=1, column=2, padx=10, pady=10)

# 转换按钮
tk.Button(root, text="转换", command=convert).grid(row=2, column=1, padx=10, pady=20)

root.mainloop()

通过以上代码,你可以创建一个简单的图形界面,实现txt文件到excel文件的转换。这个步骤能帮助你完成你的需求。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: 将txt导入到excel