Excel ファイル処理に Python 正規表現を使用する方法

王林
リリース: 2023-06-22 21:48:12
オリジナル
1861 人が閲覧しました

データ処理プロセスでは、Excel ファイルが広く使用されているデータ ソースです。データ処理および分析言語として、Python は Excel ファイルを処理できることが非常に重要です。データの前処理におけるテキスト処理にも正規表現は欠かせないツールです。この記事では、Pythonの正規表現を使ってExcelファイルを加工する方法を詳しく紹介します。

1. Python は Excel を操作します

Python で Excel ファイルを読み書きするために一般的に使用されるライブラリには、openpyxl、pandas、xlwt、xlrd などが含まれます。ここでは主に openpyxl ライブラリを使用します。 openpyxl は Excel ファイルを読み書きするための Python ライブラリで、xlsx/xlsm/xltx/xltm ファイルを扱うことができます。

使用前に pip install openpyxl を使用してインストールする必要があります。

Excel ファイルを読み込む場合は、読み込む Excel ファイルのパスと必要な操作のシート名を指定するだけで、シートの内容をメモリに読み込むことができます。以下に例を示します。

from openpyxl import load_workbook

# 打开工作簿
wb = load_workbook(filename='example.xlsx', read_only=True)
# 打开工作表
ws = wb['Sheet1']
# 读取单元格内容
cell_value = ws['A1'].value
ログイン後にコピー

このうち、filename は読み取る Excel ファイルのパスであり、read_only パラメータを True にすると読み取り専用でファイルを読み取ります。これにより、ファイルの読み取りが高速化されます。 。 ws は操作対象のシートを表します。

Excel ファイルを読み取るときは、通常、以下に示すように import pandas as pd を使用し、pd.read_excel() 関数を使用してファイルを読み取ります。パラメータ 読み込むシートを表します。

2. 正規表現

正規表現は、文字列内のパターンに一致するテキストを照合するために使用される式であり、主に文字列テキストを処理するために使用されます。 Python には、正規表現関数を実装するための re モジュールが用意されています。

Python で正規表現を使用する場合は、次の点に注意する必要があります:

、. などは正規表現では特別な意味を持ち、エスケープする必要があります。
    ## 正規表現一致の優先順位: 括弧の優先順位が最も高く、次に *、,?、その他の繰り返し一致する記号、最後に | (or) が続きます。
  1. マッチング モード: デフォルトでは、データの 1 行のみがマッチングされます。複数の行をマッチングするには、re.MULTILINE を使用します。
  2. #一般的なメタキャラクタとシンボルは次のとおりです:

シンボル/メタキャラクタ意味.任意の文字文字、数字、アンダースコア文字、数字、アンダースコアではありません数字非数値スペース、タブ、改行などを含む空白文字
w
W
d
D
s
S空白以外の文字
^文字列の先頭と一致します
$ 文字列の末尾をこの文字と一致させます
* 前の文​​字 0 を複数回一致させます
前の文字と 1 回以上一致します
?前の文字と 0 回または 1 回一致します

三、使用正则表达式处理Excel文件

有了以上介绍,我们可以开始利用正则表达式进行 Excel 文件的处理。

在使用正则表达式读取 Excel 文件时,我们可以先将 Excel 文件读取到 Pandas DataFrame 中,然后对 DataFrame 进行操作。以下是一个例子:

import pandas as pd

# 读取Excel文件,指定要处理的Sheet
df = pd.read_excel('example.xlsx', sheet_name='Sheet1')

# 利用正则表达式将文件中10开头的字符替换为'Hello'
df['A'] = df['A'].str.replace(r'^10', 'Hello')
ログイン後にコピー

以上代码中,我们将通过正则表达式 '^10' 匹配第一列中以 ‘10’ 开头的数据,然后将其替换为 ‘Hello’。

在 Python 中,有多种正则表达式的处理方式,这里不一一赘述,读者可以根据实际情况进行选择。

四、常见Excel文件处理操作

除了上述例子中的替换操作,Excel 文件中常见的操作还包括筛选、去重等。下面来介绍一下利用正则表达式进行这些操作的方法。

  1. 利用正则表达式筛选符合条件的行

我们可以利用 Pandas DataFrame 的 filter 方法,将符合条件的行筛选出来。以下是示例代码:

import pandas as pd

# 读取Excel文件,指定要处理的Sheet
df = pd.read_excel('example.xlsx', sheet_name='Sheet1')

# 正则表达式筛选满足条件的行
df = df.filter(regex='^1.*|.*Green.*', axis=0)
ログイン後にコピー

以上代码中,‘^1.’ 表示以 ‘1’ 开头的任意字符,‘|.Green.*’ 表示任意字符中包含 ‘Green’ 的行。可以根据实际情况修改正则表达式来筛选需要的行。

  1. 利用正则表达式去重

为了去除重复行,我们可以利用 Pandas DataFrame 中的 drop_duplicates 方法。下面是一个示例代码:

import pandas as pd

# 读取Excel文件,指定要处理的Sheet
df = pd.read_excel('example.xlsx', sheet_name='Sheet1')

# 根据正则表达式去重
df.drop_duplicates(subset=['A', 'B'])
ログイン後にコピー

以上代码中,subset 参数表示根据列名进行去重。可以根据实际情况修改该参数,从而达到需要的去重效果。

五、总结

本文通过 openpyxl 库和正则表达式的介绍,详细讲解了如何使用 Python 对 Excel 文件进行预处理操作。广大读者在使用过程中只需要理解正则表达式的语法规则,就可以根据实际情况灵活运用其进行Excel文件的处理。

以上がExcel ファイル処理に Python 正規表現を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート