Excel のセル内の改行文字を Python のコードで削除したい


Pythons初心者ですので、質問が不作法の場合ご容赦くださいませ。

## 環境

  * Windows 11
  * Pyhton 3.11.2
  * openpyxl 3.1.2

## 質問

  1. Pythonのコードで、エクセルで（ALT＋ENTER）で改行されているセルの値を改行なしに変換。
  2. 1.と同様にセル内に全角と半角のスペースを削除。
  3. セル内の値は左詰め。

問題点の指摘とコードの改善をご指導いただけますと幸甚です。

コードは以下の通りです。

[code]

    import openpyxl
    from tkinter import Tk
    from tkinter.filedialog import askopenfilename
    
    Tk().withdraw()
    filename = askopenfilename()
    
    wb = openpyxl.load_workbook(filename)
    ws = wb.active
    
    for row in ws.iter_rows():
        for cell in row:
            if cell.value and isinstance(cell.value, str): 
                print(repr(cell.value))
                cell.value = cell.value.replace('\n', '').replace('　', '').replace(' ', '')
                cell.alignment = openpyxl.styles.Alignment(horizontal='left')            
    
    new_filename = filename.replace('.xlsx', '-改行解除.xlsx')
    wb.save(new_filename)
    
[/code]




質問の仕方が悪かったのか、Chat-GPT4の調子が悪かったのかは判りませんが、  
先ほど以下コードで解決いたしましたので、取り急ぎご報告いたします。

[code]

    import os
    import re
    from openpyxl import load_workbook
    from openpyxl import Workbook
    from tkinter import Tk
    from tkinter.filedialog import askopenfilename
    from tkinter.filedialog import asksaveasfilename
    
    def remove_newlines_and_spaces(cell_value):
        cell_value = re.sub(r'\n', '', cell_value)
        cell_value = re.sub(r'　', '', cell_value)
        cell_value = re.sub(r' ', '', cell_value)
        return cell_value
    
    Tk().withdraw()
    file_path = askopenfilename(title="エクセルファイルを選択してください", filetypes=[("Excel files", "*.xlsx")])
    
    if file_path:
        wb = load_workbook(file_path)
        ws = wb.active
    
        for row in ws.iter_rows():
            for cell in row:
                if cell.value and isinstance(cell.value, str):
                    cell.value = remove_newlines_and_spaces(cell.value)
    
        save_path = asksaveasfilename(defaultextension=".xlsx", initialfile=os.path.splitext(os.path.basename(file_path))[0] + "-改行解除済", title="保存先を選択してください", filetypes=[("Excel files", "*.xlsx")])
    
        if save_path:
            wb.save(save_path)
            print("処理が完了しました。")
    else:
        print("ファイルが選択されませんでした。")
    
[/code]

