首页 > 解决方案 > 如何使用 Python 将包含 \n 的行的 Excel 工作表拆分为单独的行?

问题描述

我有一个电子表格,其中一些行包含 \n 需要分成单独的行。

我可以使用 openpyxl 打开工作表并将工作表转换为 pandas 数据框,但我一直在努力弄清楚如何拆分行。

输入:

在此处输入图像描述

期望的输出:

在此处输入图像描述

请注意,第 7 行变成了第 7 行和第 8 行 - 这是任何具有 \n 的行的期望行为。

任何帮助将不胜感激!

编辑:我蹩脚的原始代码如下;这是据我所知,我不知道从这里去哪里。

from openpyxl import load_workbook
from openpyxl import Workbook
import numpy as np
import pandas as pd

wb = load_workbook(filename="<filename>")
ws = wb["Page 1"]

# load worksheet into pandas dataframe
wsdf = pd.DataFrame(ws.values)

# create output wb/ws
output_wb = Workbook()
output_ws = output_wb.active
output_ws.title = "output"

# identify rows where crlf > 0
toBeSplit = []
pos = 0
for row in wsdf.iloc[:,1]:
    #print ( pos, " ", str(row).count("\n") )
    if ( str(row).count("\n") > 0 ):
        toBeSplit.append(pos)
    pos = pos + 1

print ( "Rows to be split: ", toBeSplit)

# write output
output_wb.save('<filename>')

标签: pythonexcelpandasopenpyxl

解决方案


推荐阅读