Python高效實(shí)現(xiàn)Excel轉(zhuǎn)TXT文本
在數(shù)據(jù)處理場景中,將Excel文件轉(zhuǎn)換為純文本(TXT)格式便成為了一個常見的需求。傳統(tǒng)的手動復(fù)制粘貼,不僅效率低下,更容易因格式不兼容、數(shù)據(jù)量龐大而引發(fā)錯誤。本文將解析如何通過 Spire.XLS for Python 實(shí)現(xiàn) Excel 轉(zhuǎn) TXT 的高效、無依賴操作,提升數(shù)據(jù)處理效率和靈活性。
安裝指令:pip install spire.xls??
免費(fèi)版:??pip install spire.xls.free??
基礎(chǔ)示例:單工作表 Excel 轉(zhuǎn) TXT
以下是將一個 Excel 文件中的第一個工作表轉(zhuǎn)換為 TXT 的完整步驟:
1. 加載并讀取Excel文件
from spire.xls import *
from spire.xls.common import *
workbook = Workbook()
workbook.LoadFromFile("示例.xlsx")
2. 執(zhí)行轉(zhuǎn)換并保存
sheet = workbook.Worksheets[0]
sheet.SaveToFile("output.txt", "\t", Encoding.get_UTF8())
參數(shù)說明
| 參數(shù)類型 | 示例值 | 描述 |
|---|---|---|
| 分隔符 | \t (制表符) | 定義 TXT 文件中各列數(shù)據(jù)之間的分隔方式,也可使用逗號 ,、分號 ; 等。 |
| 編碼方式 | Encoding.get_UTF8()(國際通用編碼) | 指定文本文件的編碼格式,推薦使用 UTF-8 以保證中文等字符正常顯示。 |
進(jìn)階處理:多工作表分別導(dǎo)出為 TXT
如果你的 Excel 文件包含多個工作表,并且希望將每個工作表保存為單獨(dú)的 TXT 文件,可以使用以下代碼:
from spire.xls import *
from spire.xls.common import *
def excel_sheets_to_txt(input_file, output_folder, delimiter="\t"):
# 創(chuàng)建Workbook對象
workbook = Workbook()
# 加載Excel文件
workbook.LoadFromFile(input_file)
# 遍歷所有工作表
for i in range(workbook.Worksheets.Count):
sheet = workbook.Worksheets[i]
# 構(gòu)建輸出文件路徑
output_file = f"sheet_{i+1}_{sheet.Name}.txt"
output_path = os.path.join(output_folder, output_file)
# 將工作表內(nèi)容保存為TXT文件
sheet.SaveToFile(output_path, delimiter, Encoding.get_UTF8())
知識擴(kuò)展
1.Python3將Excel數(shù)據(jù)轉(zhuǎn)換為文本文件
以下是執(zhí)行轉(zhuǎn)換的Python腳本:
import openpyxl
def xlsx_to_txt(file_path):
# 加載Excel工作簿
workbook = openpyxl.load_workbook(file_path)
# 假設(shè)數(shù)據(jù)在第一個工作表中
sheet = workbook.active
# 遍歷每一行
for row_num, row in enumerate(sheet.iter_rows(values_only=True), start=1):
if row_num > 1: # 假設(shè)第一行是標(biāo)題行,從第二行開始處理
# 檢查row[1]是否存在,以防有些行可能缺失數(shù)據(jù)
if row[1] is not None:
# 將row[1]的值轉(zhuǎn)換為字符串并寫入以row[0]命名的txt文件
with open(f"{row[0]}.txt", "w", encoding="utf-8") as txt_file:
txt_file.write(str(row[1]))
# 假設(shè)我們有一個名為`data.xlsx`的Excel文件
xlsx_to_txt('data.xlsx')
代碼詳細(xì)解析
1.加載Excel工作簿:
- openpyxl.load_workbook(file_path):加載指定路徑的Excel文件并返回一個工作簿對象。
- 這個方法會打開整個Excel文件,并使我們能夠訪問其中的工作表。
2.選擇工作表:workbook.active:獲取活動的工作表,通常是第一個工作表。如果工作簿中有多個工作表,您可以使用workbook[sheet_name]選擇特定的工作表。
3.遍歷數(shù)據(jù)行:sheet.iter_rows(values_only=True):獲取工作表中所有行的生成器,values_only=True表示只提取單元格的值,而不包括格式或樣式信息。
4.處理數(shù)據(jù):
- 使用enumerate從第二行開始處理數(shù)據(jù),start=1指定從行號1開始。
- 檢查第二列的數(shù)據(jù)是否存在(row[1]),如果存在,則將其寫入以第一列值命名的文本文件中。這樣做確保了即使某些行的數(shù)據(jù)為空,也不會導(dǎo)致程序崩潰。
實(shí)際應(yīng)用場景
這個腳本可以用于以下實(shí)際應(yīng)用:
- 數(shù)據(jù)導(dǎo)出:將從數(shù)據(jù)庫或其他系統(tǒng)導(dǎo)出的Excel數(shù)據(jù)轉(zhuǎn)換為文本文件,以便進(jìn)一步處理或?qū)氲狡渌到y(tǒng)。
- 報(bào)告生成:將Excel中的每一行數(shù)據(jù)提取到單獨(dú)的文本文件中,生成單行報(bào)告。
- 數(shù)據(jù)清洗:在數(shù)據(jù)分析前,將數(shù)據(jù)從復(fù)雜的Excel格式轉(zhuǎn)換為簡單的文本格式,便于數(shù)據(jù)清洗和分析。
2.python利用pandas將excel文件轉(zhuǎn)換為txt文件
直接上代碼:
import pandas as pd
import re
import codecs
#將excel轉(zhuǎn)化為txt文件
def exceltotxt(excel_dir, txt_dir):
with codecs.open(txt_dir, 'w', 'utf-8') as f:
neg=pd.read_excel(excel_dir, header=none, index=none)
f.write(neg.to_string())
#去除記錄行首的數(shù)字和空格
def del_linehead_number_speace(orig_txt_dir,saveas_txt_dir):
with open(orig_txt_dir,'r+') as f, open(saveas_txt_dir,'r+') as fw:
lines = f.readlines()
print(len(lines)) #行數(shù)
texts = [re.sub(r'(\d)+(\s)+','',lines[num]) for num in range(len(lines)) ]
texts = list(set(texts)) #去重如果要保留重復(fù)記錄注釋該行
line_num = len(texts)
# for num in range(line_num): #查看轉(zhuǎn)化后的文本
# print(texts[num])
fw.writelines(texts)
exceltotxt('./data/neg.xls', './data/neg_temp.txt')
del_linehead_number_speace('./data/neg_temp.txt','./data/neg.txt')說明:xxx_dir帶目標(biāo)文件名為:xxx_dir='保存路徑/'+'文件名'
Excel 轉(zhuǎn) TXT 在自動化流程中的應(yīng)用
將 Excel 轉(zhuǎn)換為 TXT 不僅是格式的簡單轉(zhuǎn)換,更是實(shí)現(xiàn)數(shù)據(jù)自動化流程的重要環(huán)節(jié)。結(jié)合 Spire.XLS for Python,可輕松構(gòu)建以下應(yīng)用:
- 自動化報(bào)告生成: 從 Excel 模板中提取數(shù)據(jù),生成純文本格式的報(bào)告摘要,方便郵件發(fā)送或系統(tǒng)集成。
- 數(shù)據(jù)清洗與預(yù)處理: 將復(fù)雜格式的 Excel 數(shù)據(jù)轉(zhuǎn)換為 TXT,作為其他數(shù)據(jù)分析工具(如Spark、Hadoop)的輸入源,進(jìn)行更深層次的處理。
- 配置管理: 將 Excel 中維護(hù)的系統(tǒng)配置、參數(shù)表等導(dǎo)出為 TXT 格式,便于腳本直接讀取,同時更適合使用 Git 等工具進(jìn)行版本管理。
通過以上方法與示例,您可以快速掌握使用 Python 實(shí)現(xiàn) Excel 到 TXT 的高效轉(zhuǎn)換。該方案不僅提升了數(shù)據(jù)導(dǎo)出效率,也為后續(xù)的數(shù)據(jù)集成與自動化處理奠定了可靠基礎(chǔ)。
到此這篇關(guān)于Python高效實(shí)現(xiàn)Excel轉(zhuǎn)TXT文本 的文章就介紹到這了,更多相關(guān)Python Excel轉(zhuǎn)TXT文本 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python之如何將標(biāo)簽轉(zhuǎn)化為one-hot(獨(dú)熱編碼)
這篇文章主要介紹了python之如何將標(biāo)簽轉(zhuǎn)化為one-hot(獨(dú)熱編碼)問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06
python創(chuàng)建與遍歷二叉樹的方法實(shí)例
這篇文章主要給大家介紹了關(guān)于python創(chuàng)建與遍歷二叉樹的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
Python標(biāo)準(zhǔn)庫之zipfile和tarfile模塊的使用
zipfile和tarfile是Python中常用的壓縮包模塊,本文將通過示例詳細(xì)講解一下這兩個模塊的使用方法,快跟隨小編一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06
DJANGO-URL反向解析REVERSE實(shí)例講解
在本篇文章里小編給大家整理的是一篇關(guān)于DJANGO-URL反向解析REVERSE的相關(guān)知識點(diǎn)內(nèi)容,需要的朋友們學(xué)習(xí)下。2019-10-10
Python通用驗(yàn)證碼識別OCR庫之ddddocr驗(yàn)證碼識別
dddd_ocr也是一個用于識別驗(yàn)證碼的開源庫,又名帶帶弟弟ocr,爬蟲界大佬sml2h3開發(fā),識別效果也是非常不錯,下面這篇文章主要給大家介紹了關(guān)于Python通用驗(yàn)證碼識別OCR庫之ddddocr驗(yàn)證碼識別的相關(guān)資料,需要的朋友可以參考下2022-05-05
Linux環(huán)境下MySQL-python安裝過程分享
這篇文章主要介紹了Linux環(huán)境下MySQL-python安裝過程分享,本文使用的編譯方式安裝,需要的朋友可以參考下2015-02-02

