返回顶部
首页 > 资讯 > 后端开发 > Python >基于Python实现简易文档格式转换器
  • 133
分享到

基于Python实现简易文档格式转换器

2024-04-02 19:04:59 133人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录需求分析开发环境引用模块UI界面代码块格式转换主要代码块效果展示最近看到市场上各种的文档格式转换软件,要么是收费、要么是有大量的广告。于是学习了一下 PyQt5 的页面操作,再加

最近看到市场上各种的文档格式转换软件,要么是收费、要么是有大量的广告。于是学习了一下 PyQt5 的页面操作,再加上了解 pandas 的使用方法。所以,萌生了想法写一个简单的文档格式转换应用。或者有更好的实现方式请在评论区留言,大家一起讨论学习~

需求分析

1、将 .txt 的文本文档转换成 csv 格式文件。

2、将 .txt 的文本文档转换成 excel 格式文件。

开发环境

1、运行环境:python-3.8.x版本

2、操作系统windows7 系统

3、开发工具PyCharm 2021.1 版本

引用模块

PyQt5 引用的相关模块


from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *

系统文件操作引用的模块


import sys
import os
import pandas as pd

UI界面代码块

设置桌面应用标题


self.setWindowTitle('文本格式转换器')
grid = QGridLayout()

创建一个 QTextEdit(),将应用中文档格式转换中需要注意的地方以文本的形式进行说明并将其设置为只读模式。


'''文档转换说明'''
self.text_current_label = QTextEdit()
self.text_current_label.setReadOnly(True)
self.text_current_label.setText(''
                                        '1、txt 文本格式说明:每行数据使用英文状态下的逗号","隔开,txt '
                                        '格式的文档是按照每行数据进行读取的,所以需要按照规则进行换行保证每行的数据格式一致。\n'
                                        '每行数据举例:zhangsan,21,男,98,优秀\n\n'
                                        '2、excel 格式的文档需要事先创建好.xlsx 的空文件(本应用不会自动创建新文件,后期需要可以加上)。\n\n'
                                        '3、csv 格式的文档需要事先创建好 .csv 的空文件(本应用不会自动创建新文件,后期需要可以加上)。')
self.text_current_label.setStyleSheet('color:blue')
self.text_current_label.setMaximumHeight(90)

读取 .txt 的文本文档文件的按钮,并将文档地址设置到输入框中的操作。因此,需要创建一个文件读取按钮以及只读模式的输入框。


'''.txt 文件'''

self.txt_file_path = QLineEdit()

self.txt_file_path.setReadOnly(True)

self.txt_file_path_btn = QPushButton()

self.txt_file_path_btn.setText('获取.txt文件')

self.txt_file_path_btn.clicked.connect(self.txt_file_path_btn_click)

同样的,分别做 csv 文件和 excel 文件的读取页面设计。


'''.xlsx 文件'''

self.xlsx_file_path = QLineEdit()

self.xlsx_file_path.setReadOnly(True)

self.xlsx_file_path_btn = QPushButton()

self.xlsx_file_path_btn.setText('获取.xlsx文件')

self.xlsx_file_path_btn.clicked.connect(self.xlsx_file_path_btn_click)

'''.csv 文件'''

self.csv_file_path = QLineEdit()

self.csv_file_path.setReadOnly(True)

self.csv_file_path_btn = QPushButton()

self.csv_file_path_btn.setText('获取.csv文件')

self.csv_file_path_btn.clicked.connect(self.csv_file_path_btn_click)

最后,加上文件转换的可选项设计,再添加开始转换的按钮提供应用转换的开始执行的效果。


'''.xlsx .csv 选项  转换按钮'''

self.xlsx_checkbox = QCheckBox()

self.xlsx_checkbox.setText('.xlsx')

self.csv_checkbox = QCheckBox()

self.csv_checkbox.setText('.csv')

self.trans_btn = QPushButton()

self.trans_btn.setText('开始转换')

self.trans_btn.setStyleSheet('color:green')

self.trans_btn.clicked.connect(self.trans_btn_click)

主要的UI界面相关的设计就是上述这些

格式转换主要代码块

首先,将 .txt 文本文档的文件读取出来,并以 DataFrame 的数据格式存放到变量供后面的格式转换使用。


 def read_txt_for_dataframe(self):

        self.columns = []

        if self.data_frame_columns_text.text().strip() != '' and self.data_frame_columns_text.text().find(',') != -1:

            self.columns = self.data_frame_columns_text.text().split(',')

            self.data_frame = pd.read_csv(self.txt_file_path.text(), encoding='utf-8', index_col=0, names=self.columns)

            print(self.data_frame)

        elif self.data_frame_columns_text.text().strip() != '' and self.data_frame_columns_text.text().find(',') == -1:

            self.warn_dialog_msg('请正确填写数据列!')

        else:

            self.data_frame = pd.read_csv(self.txt_file_path.text(), encoding='utf-8', index_col=0)

            print(self.data_frame)

使用 pandas 模块提供的 csv 文件保存函数进行 .csv 格式的文件保存。


  def dataframe_to_csv(self):
        self.data_frame.to_csv(self.csv_file_path.text())

使用 pandas 模块提供的 excel 文件保存函数进行 .xlsx 格式的文件保存。


  def dataframe_to_xlsx(self):       
    self.data_frame.to_excel(self.xlsx_file_path.text())

效果展示

界面风格比较简单,看一下整个应用界面设计是这样的。

以上就是基于Python实现简易文档格式转换器的详细内容,更多关于Python文档格式转换器的资料请关注编程网其它相关文章!

--结束END--

本文标题: 基于Python实现简易文档格式转换器

本文链接: https://lsjlt.com/news/160752.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 基于Python实现简易文档格式转换器
    目录需求分析开发环境引用模块UI界面代码块格式转换主要代码块效果展示最近看到市场上各种的文档格式转换软件,要么是收费、要么是有大量的广告。于是学习了一下 PyQt5 的页面操作,再加...
    99+
    2024-04-02
  • 基于Python实现简易的动漫图片转换器
    本文旨在制作一个将普通照片转换成动漫图片的小工具,其中使用opencv的非标准库实现对图片完成转换。 UI界面的制作使用的还是pyqt5,因为用习惯了使用起来相当方便,接下来还是先...
    99+
    2024-04-02
  • 基于Python编写简易文字语音转换器
    话不多说上代码!源代码 from tkinter import * import pyttsx3 class Application(Frame): def __init...
    99+
    2024-04-02
  • 基于Python实现RLE格式分割标注文件的格式转换
    目录1.Airbus Ship Detection Challenge2.数据展示2.1 标注数据2.2 图象文件3.格式转换4.转换结果1.Airbus Ship Detectio...
    99+
    2024-04-02
  • 简易教程:Go语言实现PDF转换为word文档
    Go语言实现PDF转Word文档的简明教程 概述 PDF转Word文档是将PDF格式的文件转换成Word格式的文件,这在实际工作中经常会遇到。Go语言提供了丰富的库和工具,可以帮助我们轻松实现PDF转Word...
    99+
    2024-02-01
    go语言 简明教程 pdf转word
  • 基于Python实现网页文章转PDF文档
    我们有时候看到一篇好的文章,想去保存下来,传统方式一般是收藏书签、复制粘贴到文档或者直接复制链接保存,但这样一次两次还好,数量多了,比较麻烦不说,还可能不好找~ 这个时候,Pyth...
    99+
    2024-04-02
  • 基于Python使用永中文档转换服务的方式
    目录1 上传文件再转换2 复合型接口3 针对在线文档的转换接口4 小结因为工作需要,最近开始学习Python;而项目上用到了永中文档转换服务,就想着要不要拿这个练练手。仰仗于Pyth...
    99+
    2024-04-02
  • CentOS下使用LibreOffice实现文档格式的转换方式
    项目需求,对上传的文档进行一些预处理,如果用户上传了doc格式的文档,需要将其处理为docx或者pdf格式,以便后续的流程对文档内容进行提取。 先是试了一下phpoffice/phpword这个包,发现其对doc的转换很...
    99+
    2022-06-04
    centos libreoffice centos 文档格式转换
  • 基于Python实现nc批量转tif格式
    由于做项目需要运用到netCDF格式的气象数据,而ArcGIS中需要用栅格影像进行处理,对于较多的文件,ArcGIS一个个手动转换过于繁琐,因此我们采用Python进行转换,当然也可...
    99+
    2024-04-02
  • 基于Python+Tkinter实现一个简易计算器
    目录设计原理示例效果主要代码设计原理 从结构上来说,一个简单的图形界面,需要由界面组件、组件的事件监听器(响应各类事件的逻辑)和具体的事件处理逻辑组成。界面实现的主要工作是创建各个界...
    99+
    2024-04-02
  • 基于JavaScript实现简易计算器
    本文实例为大家分享了JavaScript实现简易计算器的具体代码,供大家参考,具体内容如下 <!DOCTYPE html> <html lang="en"&g...
    99+
    2024-04-02
  • Python实现GB格式序列文件转换Fasta格式文件
    目录GB格式文件和FASTA文件介绍处理步骤Python脚本代码如下:运行情况GB格式文件和FASTA文件介绍 在分子生物学中 我们会有将GB格式序列文件 转换成 Fasta格式文件...
    99+
    2024-04-02
  • 基于python的Tkinter实现一个简易计算器
    本文实例介绍了基于python的Tkinter实现简易计算器的详细代码,分享给大家供大家参考,具体内容如下 第一种:使用python 的 Tkinter实现一个简易计算器 #coding:utf-8 ...
    99+
    2022-06-04
    计算器 简易 python
  • 基于Python实现简易的自制头像神器
    目录前言正文1)原理简介2)准备中3)代码展示4)效果展示前言 都说新年新气象,所以,为了迎接2022年的到来! 小编决定换一波头像——于是问题来了!换一个什...
    99+
    2024-04-02
  • Python实现图片格式转换
    本文实例为大家分享了Python实现图片格式转换的具体代码,供大家参考,具体内容如下 碰上这样一个情景: 我从网络上下载了一张表情包图片,存放在 MyImages 文件夹下,文件类型...
    99+
    2024-04-02
  • 基于Python实现Excel转Markdown表格
    目录介绍代码测试效果介绍 Markdown(也简称md)作为一种轻量级标记语言,因其易写易读,效果美观大方,不仅被众多网站使用,也是程序员们做笔记、写文档的首选。但Markdown对...
    99+
    2024-04-02
  • 基于Python+Tkinter怎么实现一个简易计算器
    这篇文章主要介绍“基于Python+Tkinter怎么实现一个简易计算器”,在日常操作中,相信很多人在基于Python+Tkinter怎么实现一个简易计算器问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”基于P...
    99+
    2023-06-26
  • 基于Python实现简单的汉字拼音转换工具
    目录1.准备2.基本使用3.高级使用将汉字转为拼音,可以用于批量汉字注音、文字排序、拼音检索文字等常见场景。 现在互联网上有许多拼音转换工具,基于Python的开源模块也不少,今天给...
    99+
    2024-04-02
  • AndroidStudio实现简易进制转换计算器
    本文实例为大家分享了Android Studio实现简易进制转换计算器的具体代码,供大家参考,具体内容如下 1、问题描述 设计并实现一个数制转换器,能够对输入的任- -进制类型的数值...
    99+
    2024-04-02
  • 基于Python+Turtle实现绘制简易的大风车
    目录前言Turtle绘制大风车保存为jpg图片绘制不同角度的图片图片合成 gif 动图前言 大风车,吱呀吱呦呦地转, 这里的风景呀真好看!天好看,地好看…&hellip...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作