如何用Python实现简易的文档格式转功能
Admin 2022-07-05 群英技术资讯 450 次浏览
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
设置桌面应用标题
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())
界面风格比较简单,看一下整个应用界面设计是这样的。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
在求公约数的时候,一般分析会当成数阶,数论中的最常用的欧几里得算法就和斐波那契数列有关。斐波那契数列是什么呢?是如何实现的呢?阶乘又是怎么求的呢?别急,跟着小编的脚步来看看吧。
这篇文章主要为大家介绍了如何通过Python实现一个非常精简的图像化的PDF区域选择提取工具,文中示例代码讲解详细,感兴趣的小伙伴可以学习一下
这篇文章主要给大家分享saga分布式事务的内容,下文分享了saga的理论知识和用python实现saga分布式事务的实例,对大家理解saga分布式事务有一定的帮助,感兴趣的朋友可以参考一下,希望大家阅读完这篇文章能有所收获,下面我们一起来学习一下吧。
文件操作是我们开发中必不可少的一项需求。本文主要给大家介绍了关于Python常见的一些文件操作,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
这篇文章主要为大家详细介绍了Python实现单链表中元素的反转,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008