最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于Python實(shí)現(xiàn)簡(jiǎn)易文檔格式轉(zhuǎn)換器

 更新時(shí)間:2021年12月24日 10:15:10   作者:Python集中營(yíng)  
這篇文章主要介紹了基于Python和PyQT5實(shí)現(xiàn)簡(jiǎn)易的文檔格式轉(zhuǎn)換器,支持.txt/.xlsx/.csv格式的轉(zhuǎn)換。感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

最近看到市場(chǎng)上各種的文檔格式轉(zhuǎn)換軟件,要么是收費(fèi)、要么是有大量的廣告。于是學(xué)習(xí)了一下 PyQt5 的頁(yè)面操作,再加上了解 pandas 的使用方法。所以,萌生了想法寫一個(gè)簡(jiǎn)單的文檔格式轉(zhuǎn)換應(yīng)用?;蛘哂懈玫膶?shí)現(xiàn)方式請(qǐng)?jiān)谠u(píng)論區(qū)留言,大家一起討論學(xué)習(xí)~

需求分析

1、將 .txt 的文本文檔轉(zhuǎn)換成 csv 格式文件。

2、將 .txt 的文本文檔轉(zhuǎn)換成 excel 格式文件。

開(kāi)發(fā)環(huán)境

1、運(yùn)行環(huán)境:python-3.8.x版本

2、操作系統(tǒng):windows7 系統(tǒng)

3、開(kāi)發(fā)工具:pycharm 2021.1 版本

引用模塊

PyQt5 引用的相關(guān)模塊

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

系統(tǒng)文件操作引用的模塊

import sys
import os
import pandas as pd

UI界面代碼塊

設(shè)置桌面應(yīng)用標(biāo)題

self.setWindowTitle('文本格式轉(zhuǎn)換器')
grid = QGridLayout()

創(chuàng)建一個(gè) QTextEdit(),將應(yīng)用中文檔格式轉(zhuǎn)換中需要注意的地方以文本的形式進(jìn)行說(shuō)明并將其設(shè)置為只讀模式。

'''文檔轉(zhuǎn)換說(shuō)明'''
self.text_current_label = QTextEdit()
self.text_current_label.setReadOnly(True)
self.text_current_label.setText(''
                                        '1、txt 文本格式說(shuō)明:每行數(shù)據(jù)使用英文狀態(tài)下的逗號(hào)","隔開(kāi),txt '
                                        '格式的文檔是按照每行數(shù)據(jù)進(jìn)行讀取的,所以需要按照規(guī)則進(jìn)行換行保證每行的數(shù)據(jù)格式一致。\n'
                                        '每行數(shù)據(jù)舉例:zhangsan,21,男,98,優(yōu)秀\n\n'
                                        '2、excel 格式的文檔需要事先創(chuàng)建好.xlsx 的空文件(本應(yīng)用不會(huì)自動(dòng)創(chuàng)建新文件,后期需要可以加上)。\n\n'
                                        '3、csv 格式的文檔需要事先創(chuàng)建好 .csv 的空文件(本應(yīng)用不會(huì)自動(dòng)創(chuàng)建新文件,后期需要可以加上)。')
self.text_current_label.setStyleSheet('color:blue')
self.text_current_label.setMaximumHeight(90)

讀取 .txt 的文本文檔文件的按鈕,并將文檔地址設(shè)置到輸入框中的操作。因此,需要?jiǎng)?chuàng)建一個(gè)文件讀取按鈕以及只讀模式的輸入框。

'''.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 文件的讀取頁(yè)面設(shè)計(jì)。

'''.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)

最后,加上文件轉(zhuǎn)換的可選項(xiàng)設(shè)計(jì),再添加開(kāi)始轉(zhuǎn)換的按鈕提供應(yīng)用轉(zhuǎn)換的開(kāi)始執(zhí)行的效果。

'''.xlsx .csv 選項(xiàng)  轉(zhuǎn)換按鈕'''

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('開(kāi)始轉(zhuǎn)換')

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

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

主要的UI界面相關(guān)的設(shè)計(jì)就是上述這些

格式轉(zhuǎn)換主要代碼塊

首先,將 .txt 文本文檔的文件讀取出來(lái),并以 DataFrame 的數(shù)據(jù)格式存放到變量供后面的格式轉(zhuǎn)換使用。

 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('請(qǐng)正確填寫數(shù)據(jù)列!')

        else:

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

            print(self.data_frame)

使用 pandas 模塊提供的 csv 文件保存函數(shù)進(jìn)行 .csv 格式的文件保存。

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

使用 pandas 模塊提供的 excel 文件保存函數(shù)進(jìn)行 .xlsx 格式的文件保存。

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

效果展示

界面風(fēng)格比較簡(jiǎn)單,看一下整個(gè)應(yīng)用界面設(shè)計(jì)是這樣的。

以上就是基于Python實(shí)現(xiàn)簡(jiǎn)易文檔格式轉(zhuǎn)換器的詳細(xì)內(nèi)容,更多關(guān)于Python文檔格式轉(zhuǎn)換器的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python編程中閉包的變量作用域問(wèn)題解析

    Python編程中閉包的變量作用域問(wèn)題解析

    這篇文章主要介紹了Python編程中閉包的變量作用域問(wèn)題解析,在學(xué)習(xí)Python的返回函數(shù)的時(shí)候,我發(fā)現(xiàn)里面涉及了幾個(gè)問(wèn)題,在這里為大家分享講解下
    2021-10-10
  • 分享Python切分字符串的一個(gè)不錯(cuò)方法

    分享Python切分字符串的一個(gè)不錯(cuò)方法

    今天小編就為大家分享一篇Python切分字符串的一個(gè)不錯(cuò)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • 基于YUV 數(shù)據(jù)格式詳解及python實(shí)現(xiàn)方式

    基于YUV 數(shù)據(jù)格式詳解及python實(shí)現(xiàn)方式

    今天小編就為大家分享一篇基于YUV 數(shù)據(jù)格式詳解及python實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-12-12
  • Python教程教你如何去除背景

    Python教程教你如何去除背景

    這篇文章主要介紹了Python教程教你如何去除背景,修飾圖片中的頭發(fā)是設(shè)計(jì)師最煩人的任務(wù)之一,下面文章將讓大家學(xué)會(huì)怎么輕松摳圖去背景,需要的小伙伴可以參考一下
    2022-02-02
  • python如果快速判斷數(shù)字奇數(shù)偶數(shù)

    python如果快速判斷數(shù)字奇數(shù)偶數(shù)

    這篇文章主要介紹了python如果快速判斷數(shù)字奇數(shù)偶數(shù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • python中的selenium入門超詳細(xì)教程

    python中的selenium入門超詳細(xì)教程

    這篇文章主要介紹了python中的selenium入門超詳細(xì)教程,本文是在python環(huán)境下使用selenium,使用瀏覽器是Chrome,系統(tǒng)是win10系統(tǒng),需要的朋友可以參考下
    2023-11-11
  • python 在某.py文件中調(diào)用其他.py內(nèi)的函數(shù)的方法

    python 在某.py文件中調(diào)用其他.py內(nèi)的函數(shù)的方法

    這篇文章主要介紹了python 在某.py文件中調(diào)用其他.py內(nèi)的函數(shù)的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-06-06
  • selenium+Chrome滑動(dòng)驗(yàn)證碼破解二(某某網(wǎng)站)

    selenium+Chrome滑動(dòng)驗(yàn)證碼破解二(某某網(wǎng)站)

    這篇文章主要介紹了selenium+Chrome滑動(dòng)驗(yàn)證碼破解二(某某網(wǎng)站),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • python對(duì)象與json相互轉(zhuǎn)換的方法

    python對(duì)象與json相互轉(zhuǎn)換的方法

    這篇文章主要介紹了python對(duì)象與json相互轉(zhuǎn)換,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • python中time庫(kù)的實(shí)例使用方法

    python中time庫(kù)的實(shí)例使用方法

    在本篇文章里的是關(guān)于python中time庫(kù)的實(shí)例使用方法以及相關(guān)知識(shí)點(diǎn),有需要的朋友們可以學(xué)習(xí)下。
    2019-10-10

最新評(píng)論

马山县| 甘德县| 门源| 前郭尔| 天镇县| 平远县| 循化| 新昌县| 兴宁市| 阿城市| 台州市| 武城县| 固始县| 乡城县| 泗水县| 屯留县| 静海县| 曲水县| 同仁县| 丹巴县| 荥阳市| 团风县| 伊春市| 通渭县| 绥宁县| 大庆市| 四川省| 上犹县| 无棣县| 城固县| 罗源县| 迁安市| 邢台市| 比如县| 阿拉善右旗| 聊城市| 裕民县| 蓬安县| 溧阳市| 鹤壁市| 扎鲁特旗|