Heim  >  Artikel  >  Backend-Entwicklung  >  So verwenden Sie reguläre Python-Ausdrücke für die Excel-Dateiverarbeitung

So verwenden Sie reguläre Python-Ausdrücke für die Excel-Dateiverarbeitung

王林
王林Original
2023-06-22 21:48:121846Durchsuche

Im Datenverarbeitungsprozess sind Excel-Dateien eine weit verbreitete Datenquelle. Als Datenverarbeitungs- und Analysesprache ist Python sehr wichtig, um Excel-Dateien verarbeiten zu können. Auch für die Textverarbeitung in der Datenvorverarbeitung sind reguläre Ausdrücke ein unverzichtbares Werkzeug. In diesem Artikel wird detailliert beschrieben, wie Sie reguläre Python-Ausdrücke zum Verarbeiten von Excel-Dateien verwenden.

1. Python betreibt Excel

Zu den häufig verwendeten Bibliotheken zum Lesen und Schreiben von Excel-Dateien in Python gehören openpyxl, pandas, xlwt, xlrd usw. Hier verwenden wir hauptsächlich die openpyxl-Bibliothek. openpyxl ist eine Python-Bibliothek zum Lesen und Schreiben von Excel-Dateien. Sie kann xlsx/xlsm/xltx/xltm-Dateien verarbeiten.

Sie müssen pip install openpyxl verwenden, um es vor der Verwendung zu installieren.

Beim Lesen einer Excel-Datei müssen wir lediglich den Pfad der zu lesenden Excel-Datei und den Blattnamen des erforderlichen Vorgangs angeben, und schon kann der Blattinhalt in den Speicher eingelesen werden. Hier ist ein Beispiel:

from openpyxl import load_workbook

# 打开工作簿
wb = load_workbook(filename='example.xlsx', read_only=True)
# 打开工作表
ws = wb['Sheet1']
# 读取单元格内容
cell_value = ws['A1'].value

wobei Dateiname der Pfad der zu lesenden Excel-Datei ist und der Parameter read_only True ist, um die Datei schreibgeschützt zu lesen, was das Lesen der Datei beschleunigen kann. ws stellt das Blatt dar, das bearbeitet werden soll.

Beim Lesen von Excel-Dateien verwenden wir normalerweise import pandas as pd und verwenden dann die Funktion pd.read_excel(), um die Datei zu lesen, wie unten gezeigt:

import pandas as pd

df = pd.read_excel('example.xlsx', sheet_name='Sheet1')

Unter diesen stellt der Parameter sheet_name das zu lesende Blatt dar.

2. Reguläre Ausdrücke

Regulärer Ausdruck ist ein Ausdruck, der zum Abgleichen von Text verwendet wird, der einem Muster in einer Zeichenfolge entspricht. Er wird hauptsächlich zum Verarbeiten von Zeichenfolgentext verwendet. Python stellt das re-Modul zur Implementierung regulärer Ausdrucksfunktionen bereit.

Bei der Verwendung regulärer Ausdrücke in Python müssen wir auf die folgenden Punkte achten:

  1. ,. usw. haben in regulären Ausdrücken eine besondere Bedeutung und müssen mit Zeichen maskiert werden.
  2. Priorität der Übereinstimmung regulärer Ausdrücke: Klammern Die Priorität ist am höchsten, gefolgt von wiederholten übereinstimmenden Symbolen wie *, +, ? und schließlich |.
  3. Abgleichsmodus: Standardmäßig wird nur eine Datenzeile abgeglichen, um mehrere Zeilen abzugleichen.

Übliche Metazeichen und Symbole sind wie folgt:

Symbol/Metazeichen Bedeutung
. Jedes Zeichen
w Buchstaben, Zahlen und Unterstriche Linie
W keine Buchstaben, Zahlen und Unterstriche
d Zahlen
D Nicht-Zahlen
s Leerzeichen, einschließlich Leerzeichen, Tabulatoren, Zeilenumbrüche usw.
S Nicht-Leerzeichen
^ entspricht dem Anfang der Zeichenfolge
$ mit diesem Zeichen entspricht das Ende der Zeichenfolge
* entspricht dem vorherigen Zeichen 0 bis mehrere mal
+ stimmt ein oder mehrere Mal mit dem vorherigen Zeichen überein
? stimmt 0 oder 1 Mal mit dem vorherigen Zeichen überein

三、使用正则表达式处理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文件的处理。

Das obige ist der detaillierte Inhalt vonSo verwenden Sie reguläre Python-Ausdrücke für die Excel-Dateiverarbeitung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn