欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python3腳本實(shí)現(xiàn)Excel與TXT的智能轉(zhuǎn)換

 更新時(shí)間:2025年02月27日 14:54:58   作者:XMYX-0  
在數(shù)據(jù)處理的日常工作中,我們經(jīng)常需要將Excel中的結(jié)構(gòu)化數(shù)據(jù)轉(zhuǎn)換為其他格式,本文將使用Python3實(shí)現(xiàn)Excel與TXT的智能轉(zhuǎn)換,需要的可以了解下

在數(shù)據(jù)處理的日常工作中,我們經(jīng)常需要將Excel中的結(jié)構(gòu)化數(shù)據(jù)轉(zhuǎn)換為其他格式。本文將手把手教你如何用Python輕松實(shí)現(xiàn)Excel到TXT的智能轉(zhuǎn)換,讓重復(fù)性工作自動(dòng)化,效率提升立竿見(jiàn)影!

場(chǎng)景應(yīng)用:為什么需要這種轉(zhuǎn)換

當(dāng)遇到以下場(chǎng)景時(shí),這個(gè)腳本將成為你的得力助手:

  • 批量生成配置文件:將服務(wù)器配置信息從Excel快速生成可部署的文本文件
  • 問(wèn)卷數(shù)據(jù)處理:將收集到的開(kāi)放式問(wèn)題答案自動(dòng)整理成獨(dú)立文檔
  • 文檔自動(dòng)化生成:根據(jù)產(chǎn)品參數(shù)表快速創(chuàng)建產(chǎn)品說(shuō)明文檔
  • 多語(yǔ)言資源處理:將翻譯好的多語(yǔ)言文本批量生成對(duì)應(yīng)語(yǔ)言包文件
  • 數(shù)據(jù)分析預(yù)處理:將特定列數(shù)據(jù)提取為機(jī)器學(xué)習(xí)可讀的文本格式

技術(shù)解析:代碼實(shí)現(xiàn)詳解

核心代碼展示

import openpyxl
import os

def xlsx_to_txt(file_path, output_dir="output", header_row=1):
    """
    將Excel文件內(nèi)容轉(zhuǎn)換為多個(gè)TXT文件
    
    參數(shù):
    file_path (str): Excel文件路徑
    output_dir (str): 輸出目錄,默認(rèn)為"output"
    header_row (int): 標(biāo)題行數(shù),默認(rèn)為1
    """
    try:
        # 創(chuàng)建輸出目錄
        os.makedirs(output_dir, exist_ok=True)
        
        # 加載Excel工作簿
        workbook = openpyxl.load_workbook(file_path)
        sheet = workbook.active

        # 遍歷每一行
        for row_num, row in enumerate(sheet.iter_rows(values_only=True), start=1):
            if row_num > header_row:  # 跳過(guò)標(biāo)題行
                # 檢查序號(hào)列是否為空
                if row[0] is None:
                    print(f"警告:第{row_num}行缺少序號(hào),已跳過(guò)")
                    continue
                    
                # 檢查內(nèi)容列是否為空
                if row[1] is None:
                    print(f"警告:第{row_num}行內(nèi)容為空,已跳過(guò)")
                    continue
                    
                # 清理文件名中的非法字符
                safe_filename = "".join(c for c in str(row[0]) if c.isalnum() or c in (' ', '_')).rstrip()
                if not safe_filename:
                    print(f"警告:第{row_num}行文件名無(wú)效,已跳過(guò)")
                    continue
                    
                # 寫(xiě)入文件
                output_path = os.path.join(output_dir, f"{safe_filename}.txt")
                try:
                    with open(output_path, "w", encoding="utf-8") as txt_file:
                        txt_file.write(str(row[1]))
                    print(f"成功創(chuàng)建文件: {output_path}")
                except Exception as e:
                    print(f"錯(cuò)誤:無(wú)法寫(xiě)入文件 {output_path} - {str(e)}")
                        
    except FileNotFoundError:
        print(f"錯(cuò)誤:文件 {file_path} 不存在!")
    except Exception as e:
        print(f"程序運(yùn)行出錯(cuò): {str(e)}")

# 示例調(diào)用
xlsx_to_txt('data.xlsx')

改進(jìn)點(diǎn)說(shuō)明

1.輸出目錄管理

新增output_dir參數(shù),自動(dòng)創(chuàng)建輸出目錄

2.文件名安全處理

過(guò)濾文件名中的非法字符,避免創(chuàng)建文件失敗

3.空值雙重檢查

同時(shí)檢查文件名和內(nèi)容列,確保數(shù)據(jù)完整性

4.錯(cuò)誤處理增強(qiáng)

添加全面的異常捕獲,提高程序健壯性

5.進(jìn)度反饋

添加成功/失敗提示,方便追蹤處理結(jié)果

實(shí)戰(zhàn)演練:從Excel到TXT的完整流程

準(zhǔn)備數(shù)據(jù)示例(data.xlsx)

執(zhí)行轉(zhuǎn)換

data.xlsx與test.py再同一級(jí)目錄

python3 test.py

生成結(jié)果

成功創(chuàng)建文件: output/10.txt
警告:第3行缺少序號(hào),已跳過(guò)
成功創(chuàng)建文件: output/12.txt
警告:第5行內(nèi)容為空,已跳過(guò)
成功創(chuàng)建文件: output/14.txt
警告:第7行缺少序號(hào),已跳過(guò)
成功創(chuàng)建文件: output/16.txt
成功創(chuàng)建文件: output/17.txt
成功創(chuàng)建文件: output/18.txt

功能擴(kuò)展:按需定制你的轉(zhuǎn)換器

1.多列內(nèi)容合并

content = '\n'.join([str(cell) for cell in row[1:] if cell])

2.自動(dòng)編號(hào)

filename = f"{row_num}_{safe_filename}"

3.保留原始格式

from openpyxl.styles import numbers
if cell.number_format == numbers.FORMAT_DATE_XLSX22:
    # 處理日期格式

4.添加日志系統(tǒng)

import logging
logging.basicConfig(filename='converter.log', level=logging.INFO)

最佳實(shí)踐與避坑指南

1.數(shù)據(jù)預(yù)處理

  • 使用Excel的"數(shù)據(jù)驗(yàn)證"功能確保文件名列的合法性
  • 檢查特殊字符:/\:*?"<>|等Windows禁用字符

2.性能優(yōu)化

  • 對(duì)于10萬(wàn)行以上數(shù)據(jù),改用csv模塊讀取
  • 使用with語(yǔ)句批量處理文件寫(xiě)入

3.異常處理

  • 添加文件權(quán)限檢查
  • 處理磁盤(pán)空間不足的情況

4.版本兼容

  • 支持.xlsx格式(openpyxl)
  • 如需處理.xls文件,可改用xlrd庫(kù)

應(yīng)用場(chǎng)景升級(jí):企業(yè)級(jí)解決方案

對(duì)于更復(fù)雜的業(yè)務(wù)需求,可以擴(kuò)展為:

1.云端部署方案

  • 通過(guò)Flask構(gòu)建Web服務(wù)
  • 支持文件上傳和結(jié)果下載

2.郵件自動(dòng)發(fā)送

import smtplib
# 將生成的txt文件作為附件自動(dòng)發(fā)送

3.數(shù)據(jù)庫(kù)集成

import sqlite3
# 將轉(zhuǎn)換記錄存入數(shù)據(jù)庫(kù)

4.日志監(jiān)控系統(tǒng)

import logging
logging.basicConfig(filename='converter.log')

以上就是Python3腳本實(shí)現(xiàn)Excel與TXT的智能轉(zhuǎn)換的詳細(xì)內(nèi)容,更多關(guān)于Python3 Excel轉(zhuǎn)TXT的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • python人工智能tensorflow函數(shù)tf.nn.dropout使用方法

    python人工智能tensorflow函數(shù)tf.nn.dropout使用方法

    這篇文章主要為大家介紹了python人工智能tensorflow函數(shù)tf.nn.dropout使用示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • Python語(yǔ)法學(xué)習(xí)之進(jìn)程的創(chuàng)建與常用方法詳解

    Python語(yǔ)法學(xué)習(xí)之進(jìn)程的創(chuàng)建與常用方法詳解

    本文我們將學(xué)習(xí)一下在?Python?中去創(chuàng)建并使用多進(jìn)程的方法,可以通過(guò)創(chuàng)建多個(gè)進(jìn)程來(lái)幫助我們提高腳本執(zhí)行的效率,感興趣的可以了解一下
    2022-04-04
  • Python 圖像處理之PIL庫(kù)詳解用法

    Python 圖像處理之PIL庫(kù)詳解用法

    對(duì)于圖像識(shí)別,大量的工作在于圖像的處理,處理效果好,那么才能很好地識(shí)別,因此,良好的圖像處理是識(shí)別的基礎(chǔ)。在Python中,有一個(gè)優(yōu)秀的圖像處理框架,就是PIL庫(kù),本文會(huì)介紹PIL庫(kù)中的各種方法,并列舉相關(guān)例子
    2021-11-11
  • Python數(shù)據(jù)分析之Excel和Text文件的讀寫(xiě)操作方法

    Python數(shù)據(jù)分析之Excel和Text文件的讀寫(xiě)操作方法

    Python操作Excel分為兩個(gè)主要形式,讀寫(xiě)和交互式操作,可以用不同的第三方工具,下面這篇文章主要給大家介紹了關(guān)于Python數(shù)據(jù)分析之Excel和Text文件的讀寫(xiě)操作方法,需要的朋友可以參考下
    2024-08-08
  • Python處理字符串中文(漢字)編碼的實(shí)例

    Python處理字符串中文(漢字)編碼的實(shí)例

    這篇文章主要介紹了Python處理字符串中文(漢字)編碼的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • python目錄與文件名操作例子

    python目錄與文件名操作例子

    這篇文章主要介紹了python目錄與文件名操作例子,需要的朋友可以參考下
    2016-08-08
  • Python如何生成隨機(jī)數(shù)及random隨機(jī)數(shù)模塊應(yīng)用

    Python如何生成隨機(jī)數(shù)及random隨機(jī)數(shù)模塊應(yīng)用

    這篇文章主要介紹了Python如何生成隨機(jī)數(shù)及random隨機(jī)數(shù)模塊應(yīng)用,首先我們要知道在python中用于生成隨機(jī)數(shù)的模塊是random,在使用前需要import。由此展開(kāi)內(nèi)容介紹,需要的小伙伴可以參考一下
    2022-06-06
  • 淺談Python函數(shù)式編程的返回函數(shù)與匿名函數(shù)

    淺談Python函數(shù)式編程的返回函數(shù)與匿名函數(shù)

    這篇文章主要介紹了淺談Python函數(shù)式編程的返回函數(shù)與匿名函數(shù),如果一個(gè)變量指向了一個(gè)函數(shù),那么,可以通過(guò)該變量來(lái)調(diào)用這個(gè)函數(shù),需要的朋友可以參考下
    2023-04-04
  • OpenCV形狀檢測(cè)的示例詳解

    OpenCV形狀檢測(cè)的示例詳解

    本文主要介紹了OpenCV中的形狀檢測(cè),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • Python?turtle編寫(xiě)簡(jiǎn)單的球類小游戲

    Python?turtle編寫(xiě)簡(jiǎn)單的球類小游戲

    turtle?(小海龜)?是?Python?內(nèi)置的一個(gè)繪圖模塊,其實(shí)它不僅可以用來(lái)繪圖,還可以制作簡(jiǎn)單的小游戲。本文將利用Turtle制作一個(gè)簡(jiǎn)單的球類小游戲,感興趣的可以學(xué)習(xí)一下
    2022-03-03

最新評(píng)論