真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

自制文檔格式轉(zhuǎn)換器,支持 .txt/.xlsx/.csv格式轉(zhuǎn)換...

最近看到市場上各種的文檔格式轉(zhuǎn)換軟件,要么是收費、要么是有大量的廣告。于是學(xué)習(xí)了一下 PyQt5 的頁面操作,再加上了解 pandas 的使用方法。所以,萌生了想法寫一個簡單的文檔格式轉(zhuǎn)換應(yīng)用。或者有更好的實現(xiàn)方式請在評論區(qū)留言,大家一起討論學(xué)習(xí)~

東港網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián),東港網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為東港成百上千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務(wù)好的東港做網(wǎng)站的公司定做!

請滑到文章底部獲取源代碼......

【閱讀全文】

需求分析

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

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

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

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

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

3、開發(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)建一個 QTextEdit(),將應(yīng)用中文檔格式轉(zhuǎn)換中需要注意的地方以文本的形式進行說明并將其設(shè)置為只讀模式。

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

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

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

'''.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)換的可選項設(shè)計,再添加開始轉(zhuǎn)換的按鈕提供應(yīng)用轉(zhuǎn)換的開始執(zhí)行的效果。

'''.xlsx .csv 選項  轉(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('開始轉(zhuǎn)換')

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

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

主要的UI界面相關(guān)的設(shè)計就是上述這些,由于篇幅太大就不一一列舉了,有興趣的朋友可以到后面提供的鏈接下載源碼。

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

首先,將 .txt 文本文檔的文件讀取出來,并以 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('請正確填寫數(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ù)進行 .csv 格式的文件保存。

  def dataframe_to_csv(self):

        self.data_frame.to_csv(self.csv_file_path.text())

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


    def dataframe_to_xlsx(self):

        self.data_frame.to_excel(self.xlsx_file_path.text())

效果展示

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

效果操作前往全文查看......

完整源代碼獲取方式:公眾號內(nèi)回復(fù) "文本格式轉(zhuǎn)換器",歡迎在評論區(qū)留下您寶貴的建議!

【往期精選】

PyPDF2如何實現(xiàn)按照PDF頁碼提取后并另存為PDF格式文件?

浪漫的turtle,送給程序員自己的圣誕樹!

PyQt5 GUI:百度圖片下載器(文末附源碼)

python3中的zip()、zip(*)、list()之間的靈活轉(zhuǎn)換!

PyQt5 GUI && Requests Api 做一個天氣查詢系統(tǒng)(文末領(lǐng)取完整代碼)!


本文標(biāo)題:自制文檔格式轉(zhuǎn)換器,支持 .txt/.xlsx/.csv格式轉(zhuǎn)換...
路徑分享:http://weahome.cn/article/dsojcde.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部