繁体   English   中英

Openpyxl 与 Python - 如何删除空格并用逗号替换

[英]Openpyxl with Python - How to delete spaces and replace with commas

我还是 python 的新手,并被要求重新格式化一个大型电子表格。 试图遵循这个系统: https://i.stack.imgur.com/24Trp.png

我想从 L 和 M 列中删除每个单元格中的所有空格。然后,我需要逗号来分隔值。 我不确定如何做后者,因为我需要将冒号 (TL:Accepted,AL:Accepted) 保留为一个值,然后用冒号将它们与下一个值分开。 我对 pandas 有一些经验,它可以与 openpyxl 结合使用。

到目前为止,这是我的代码:

# imports
import openpyxl as py
from openpyxl import Workbook, load_workbook

# create a workbook and active worksheet
wb = load_workbook(r'MERGEDSHEETS.xlsx')
print(wb.sheetnames)
ws = wb.active

for sheet[L2:, M2:]:
    py.strip()

wb.save(r'MERGEDSHEETSv2.xlsx')

“......我想从 L 和 M 列中删除每个单元格中的所有空格。然后,我需要逗号来分隔值......”

一个建议(如果您的文件不是很大)您可以在 microsoft(Excel) 或 LibreOffice 等工具中打开,然后另存为 CSV 文件。

或使用代码:

import pandas as pd
data_xls = pd.read_excel(r'MERGEDSHEETS.xlsx', 'Sheet2', dtype=str, index_col=None)
data_xls.to_csv('MERGEDSHEETSv2.csv', encoding='utf-8', index=False, sep =';')

在此处输入图像描述


import pandas as pd


def cell_strip(cell):
    lines = str(cell).splitlines()
    filter_v_lines = [i.strip() for i in lines if i.strip()]
    final_v_str = '\n'.join(filter_v_lines)
    return final_v_str


file_path = "strip.xlsx"
df = pd.read_excel(file_path)
print(df)

df_1 = df.applymap(cell_strip)
df_1.to_excel('new.xlsx',index=False)
print(df_1)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM