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

Python全自動(dòng)實(shí)現(xiàn)Excel數(shù)據(jù)分列

 更新時(shí)間:2026年04月13日 08:39:19   作者:Eiceblue  
在 Excel 數(shù)據(jù)處理中,數(shù)據(jù)分列是高頻剛需操作,本文將使用免費(fèi) Excel 處理庫(kù),通過(guò) Python 實(shí)現(xiàn)全自動(dòng)單列拆分多列,并對(duì)比 Excel 自帶分列與 VBA 方案,幫你快速選出最合適的處理方式

在 Excel 數(shù)據(jù)處理中,數(shù)據(jù)分列是高頻剛需操作 — 把單列里用逗號(hào)、空格、豎線等分隔符拼接的文本,拆成多列獨(dú)立字段。

手動(dòng)用 Excel 分列效率低,大批量數(shù)據(jù)還容易出錯(cuò);用 VBA 又受平臺(tái)限制。本文用免費(fèi) Excel 處理庫(kù),通過(guò) Python 實(shí)現(xiàn)全自動(dòng)單列拆分多列,并對(duì)比 Excel 自帶分列與 VBA 方案,幫你快速選出最合適的處理方式。

一、先看傳統(tǒng)方案:Excel 自帶分列與 VBA

在使用 Python 之前,先簡(jiǎn)單對(duì)比兩種 Excel 原生方法,方便你根據(jù)場(chǎng)景選擇。

1. Excel “分列” 向?qū)?/h3>
  • 操作步驟:選中目標(biāo)列 →「數(shù)據(jù)」→「分列」→ 按分隔符或固定寬度拆分。
  • 優(yōu)點(diǎn):無(wú)需代碼,上手簡(jiǎn)單,直觀易用
  • 缺點(diǎn):純手動(dòng)操作,數(shù)據(jù)更新后必須重復(fù)執(zhí)行,無(wú)法自動(dòng)化批量處理

 Excel “分列” 向?qū)? height=

2. VBA 宏代碼

通過(guò) VBA 調(diào)用 Split 函數(shù)實(shí)現(xiàn)自動(dòng)拆分,示例代碼:

Sub SplitColumn()
    Dim rng As Range, cell As Range
    Dim splitArr() As String
    Dim i As Integer
    ' 指定處理 A 列所有有數(shù)據(jù)的行
    Set rng = Range("A1", Range("A" & Rows.Count).End(xlUp))
    For Each cell In rng
        ' 按逗號(hào)分割
        splitArr = Split(cell.Value, ",")
        ' 寫入右側(cè)對(duì)應(yīng)列
        For i = LBound(splitArr) To UBound(splitArr)
            cell.Offset(0, i + 1).Value = Trim(splitArr(i))
        Next i
    Next cell
    ' 自動(dòng)適配列寬
    Columns("B:" & Chr(64 + UBound(splitArr) + 2)).AutoFit
End Sub
  • 優(yōu)點(diǎn):可自動(dòng)化執(zhí)行,處理速度快,與 Excel 高度集成
  • 缺點(diǎn):依賴 Windows + Excel 環(huán)境,跨平臺(tái)無(wú)法使用,有一定學(xué)習(xí)成本

VBA 宏代碼

兩種方案更適合臨時(shí)處理或純 Excel 環(huán)境。如果需要跨平臺(tái)、無(wú) Excel 依賴、批量自動(dòng)化,推薦使用下面的 Free Spire.XLS for Python 方案。

二、Python 將 Excel 中的單列數(shù)據(jù)拆分為多列

1. 安裝依賴庫(kù)

在終端或命令提示符中執(zhí)行以下命令,安裝免費(fèi)的 Excel 處理庫(kù) Free Spire.XLS for Python:

pip install Spire.Xls.Free

該庫(kù)不依賴 Excel 應(yīng)用程序,使用時(shí)注意查看限制。

2. 基礎(chǔ)分列代碼

以下代碼實(shí)現(xiàn):讀取 Excel 文件 → 將第一列按逗號(hào)拆分 → 拆分結(jié)果寫入右側(cè)列 → 保存新文件。

from spire.xls import *

# 1. 加載 Excel 文件
workbook = Workbook()
workbook.LoadFromFile("數(shù)據(jù).xlsx")

# 2. 獲取第一個(gè)工作表
sheet = workbook.Worksheets[0]

# 3. 遍歷所有有效數(shù)據(jù)行
for i in range(sheet.LastRow):
    # 讀取第 1 列內(nèi)容
    cell_text = sheet.Range[i + 1, 1].Text
    
    # 按逗號(hào)拆分(可改為空格、分號(hào)、豎線等)
    split_parts = cell_text.split(',')
    
    # 從第 2 列開(kāi)始寫入拆分后的數(shù)據(jù)
    for j, value in enumerate(split_parts):
        sheet.Range[i + 1, j + 2].Text = value.strip()

# 4. 保存結(jié)果文件
workbook.SaveToFile("數(shù)據(jù)分列.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

3. 代碼詳解

  • sheet.LastRow:自動(dòng)獲取最后非空行,無(wú)需手動(dòng)指定范圍。
  • split(separator):按分隔符拆分字符串。
  • strip():去除每個(gè)子項(xiàng)的前后空格,保證數(shù)據(jù)干凈。
  • sheet.Range[row+1, col+2].Text:從第 2 列(索引 2)開(kāi)始寫入,保留原第 1 列數(shù)據(jù)。
  • Dispose():釋放資源,防止內(nèi)存泄漏。

運(yùn)行效果:執(zhí)行后生成 數(shù)據(jù)分列.xlsx,原 A 列保留,拆分后的數(shù)據(jù)依次填入 B、C、D… 列。

代碼詳解

三、進(jìn)階用法:動(dòng)態(tài)分隔符(正則表達(dá)式)

實(shí)際數(shù)據(jù)中可能混雜逗號(hào)、分號(hào)、空格等多種分隔符(例如 “蘋果, 香蕉; 橙子 葡萄”)。此時(shí)可使用正則表達(dá)式統(tǒng)一拆分。

import re
from spire.xls import *

workbook = Workbook()
workbook.LoadFromFile("Data.xlsx")
sheet = workbook.Worksheets[0]

for i in range(sheet.LastRow):
    original_text = sheet.Range[i + 1, 1].Text
    # 按逗號(hào)、分號(hào)、空格拆分,支持連續(xù)分隔符
    parts = re.split(r'[,; ]+', original_text.strip())
    
    # 寫入拆分結(jié)果
    for j, val in enumerate(parts):
        sheet.Range[i + 1, j + 2].Text = val

sheet.AllocatedRange.AutoFitColumns()
workbook.SaveToFile("MultiSeparatorSplit.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

提示:可根據(jù)需要修改正則表達(dá)式,例如添加 \|(豎線)、\t(制表符)等。

四、方案選擇建議

  • 臨時(shí)/少量數(shù)據(jù):直接用 Excel 自帶分列向?qū)?,快速完?/li>
  • 重復(fù)執(zhí)行、僅 Windows 環(huán)境:使用 VBA 宏,與 Excel 無(wú)縫配合
  • 批量自動(dòng)化、跨平臺(tái)、無(wú) Excel 依賴:選用 Free Spire.XLS for Python,代碼簡(jiǎn)潔、樣式保留、穩(wěn)定性強(qiáng)

到此這篇關(guān)于Python全自動(dòng)實(shí)現(xiàn)Excel數(shù)據(jù)分列的文章就介紹到這了,更多相關(guān)Python Excel數(shù)據(jù)分列內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 身份證OCR識(shí)別API接入實(shí)例詳解(Python?/?Java?示例)

    身份證OCR識(shí)別API接入實(shí)例詳解(Python?/?Java?示例)

    OCR技術(shù)是一種通過(guò)掃描、拍照等光學(xué)輸入方式將各種印刷品上的文字轉(zhuǎn)化為圖像信息,再利用文字識(shí)別技術(shù)將圖像信息轉(zhuǎn)化為可使用的計(jì)算機(jī)輸入技術(shù)的過(guò)程,這篇文章主要介紹了身份證OCR識(shí)別API接入的相關(guān)資料,文中以Python/Java為例,需要的朋友可以參考下
    2026-04-04
  • 火車票搶票python代碼公開(kāi)揭秘!

    火車票搶票python代碼公開(kāi)揭秘!

    火車票搶票python代碼公開(kāi)揭秘!使用Python模擬搶票程序,給大家揭秘?fù)屍钡降资窃趺椿厥?,感興趣的小伙伴們可以參考一下
    2018-03-03
  • Keras—embedding嵌入層的用法詳解

    Keras—embedding嵌入層的用法詳解

    這篇文章主要介紹了Keras—embedding嵌入層的用法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-06-06
  • Python開(kāi)發(fā)文字版密室逃脫游戲的實(shí)例(含代碼)

    Python開(kāi)發(fā)文字版密室逃脫游戲的實(shí)例(含代碼)

    密室逃脫游戲是一種頗受歡迎的解謎類游戲,玩家通常需要通過(guò)觀察、推理、合作等方式解決一系列難題,以逃脫困境,在這篇博文中,我們將使用Python開(kāi)發(fā)一個(gè)文字版密室逃脫游戲,旨在通過(guò)簡(jiǎn)單的文本交互來(lái)呈現(xiàn)游戲的趣味性與挑戰(zhàn)性
    2025-04-04
  • pandas交換行的具體實(shí)現(xiàn)

    pandas交換行的具體實(shí)現(xiàn)

    Pandas?是專注于表格數(shù)據(jù)處理的?Python?第三方庫(kù),能幫助我們完成各種各樣的表格數(shù)據(jù)操作,本文主要介紹了pandas交換行的具體實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-04-04
  • 解決Python傳遞中文參數(shù)的問(wèn)題

    解決Python傳遞中文參數(shù)的問(wèn)題

    這篇文章主要介紹了解決Python傳遞中文參數(shù)的問(wèn)題的相關(guān)資料,需要的朋友可以參考下
    2015-08-08
  • pyspark自定義UDAF函數(shù)調(diào)用報(bào)錯(cuò)問(wèn)題解決

    pyspark自定義UDAF函數(shù)調(diào)用報(bào)錯(cuò)問(wèn)題解決

    這篇文章主要為大家介紹了pyspark自定義UDAF函數(shù)調(diào)用報(bào)錯(cuò)問(wèn)題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • Python中的shape[0]、shape[1]和shape[-1]使用方法

    Python中的shape[0]、shape[1]和shape[-1]使用方法

    shape函數(shù)是Numpy中的函數(shù),它的功能是讀取矩陣的長(zhǎng)度,比如shape[0]就是讀取矩陣第一維度的長(zhǎng)度,這篇文章主要介紹了Python中的shape[0]、shape[1]和shape[-1]使用方法,需要的朋友可以參考下
    2023-07-07
  • 教你在pycharm中使用tensorflow的方法

    教你在pycharm中使用tensorflow的方法

    當(dāng)前使用的是anaconda的3.8版本,無(wú)法正常下載tensorflow包,需要構(gòu)建虛擬環(huán)境使用3.7及以下的解釋器才可以,如何解決這個(gè)問(wèn)題呢,下面小編給大家?guī)?lái)了如何在pycharm中使用tensorflow,感興趣的朋友參考下吧
    2021-11-11
  • Python實(shí)現(xiàn)將內(nèi)容寫入文件的五種方法總結(jié)

    Python實(shí)現(xiàn)將內(nèi)容寫入文件的五種方法總結(jié)

    本篇帶你詳細(xì)看一下python將內(nèi)容寫入文件的方法以及細(xì)節(jié),主要包括write()方法、writelines()?方法、print()?函數(shù)、使用?csv?模塊、使用?json?模塊,需要的可以參考一下
    2023-04-04

最新評(píng)論

陆良县| 克山县| 霍林郭勒市| 鄂托克前旗| 哈尔滨市| 太仆寺旗| 甘孜县| 蕲春县| 南平市| 泗水县| 孝义市| 南华县| 阳曲县| 上栗县| 邹平县| 武功县| 康定县| 法库县| 康乐县| 茌平县| 芦山县| 启东市| 稻城县| 凉山| 陵水| 喀喇| 长阳| 东兰县| 宁蒗| 城步| 上思县| 江西省| 宁晋县| 盐源县| 衢州市| 浑源县| 寿光市| 石渠县| 黑山县| 保定市| 德格县|