[Anleitung zur Bedienung von Excel mit Python: Komplettes Handbuch zum Lesen und Schreiben]

Überblick

Das Lesen und Schreiben von Excel-Dateien sind häufige und wichtige Aufgaben bei der Datenverarbeitung und -analyse. Python bietet eine Vielzahl von Bibliotheken und Methoden, um diese Vorgänge einfach und effizient zu gestalten. Nachfolgend finden Sie eine kurze Anleitung zu gängigen Methoden zur Verwendung von Python zum Lesen und Schreiben von Excel in der Datenverarbeitung und -analyse.

Inhalte schreiben

Drei gängige Methoden:
Methode 1: Verwenden Sie die openpyxl-Bibliothek
Installieren Sie die openpyxl-Bibliothek
Zuerst erstellen Stellen Sie sicher, dass Sie die openpyxl-Bibliothek installiert haben. Wenn es nicht installiert ist, können Sie es mit dem folgenden Befehl installieren:

pip openpyxl installieren

Erstellen und speichern Sie Excel-Dateien

import openpyxl

# 创建一个新的Excel工作簿
workbook = openpyxl.Workbook()

# 获取默认的工作表
sheet = workbook.active

# 写入数据
sheet['A1'] = '姓名'
sheet['B1'] = '年龄'

# 添加一行数据
sheet.append(['Alice', 25])

# 保存工作簿
workbook.save('example_openpyxl.xlsx')

Fügen Sie hier eine Bildbeschreibung ein
Lesen, Schreiben und Formatieren von Daten

import pandas as pd

# 读取Excel文件
df = pd.read_excel('example.xlsx')

# 打印数据框内容
print(df)

Der obige Code verwendet die Funktion read_excel der Pandas-Bibliothek, um den Inhalt der Excel-Datei bequem zu lesen und die Daten in einem DataFrame zu speichern.

Das Durchlaufen und Bearbeiten von Zellen sind häufige Aufgaben bei der Verarbeitung von Excel-Dateien und können mithilfe der openpyxl-Bibliothek problemlos ausgeführt werden. Hier sind einige Codebeispiele zum Durchlaufen und Bearbeiten von Zellen:
Durchlaufen der Werte von Spalte A

# 假设 sheet 是你的工作表对象
for cell in sheet['A']:
    print(cell.value)

Dieser Code durchläuft alle Zellen in Spalte A und gibt deren Werte aus.

Zellen formatieren

# 设置单元格 A1 的字体大小为14,加粗,并添加黄色填充
sheet['A1'].font = openpyxl.styles.Font(size=14, bold=True)
sheet['A1'].fill = openpyxl.styles.PatternFill(start_color="FFFF00", end_color="FFFF00", fill_type="solid")

Dieser Code legt die Schriftgröße und -stärke der Zelle A1 fest und fügt eine gelbe Füllung hinzu.
Diagramm erstellen

from openpyxl.chart import BarChart, Reference

# 创建柱状图
chart = BarChart()

# 设置图表数据范围
data = Reference(sheet, min_col=2, min_row=1, max_col=3, max_row=5)
categories = Reference(sheet, min_col=1, min_row=2, max_row=5)

# 添加数据到图表
chart.add_data(data, titles_from_data=True)
chart.set_categories(categories)

# 将图表添加到工作表,位置在 E5 单元格
sheet.add_chart(chart, "E5")

Dieser Code verwendet das Diagrammmodul von openpyxl, um ein Histogramm zu erstellen, legt seinen Datenbereich auf einen Teil des Arbeitsblatts fest und fügt schließlich das Diagramm dem Arbeitsblatt hinzu.
Zellen zusammenführen und teilen

# 合并 B2 到 C2 单元格
sheet.merge_cells('B2:C2')

# 设置合并后单元格的值
sheet['B2'] = 'Merged Cells'

# 拆分单元格
sheet.unmerge_cells('B2:C2')

Dieser Code führt die Zellen B2 bis C2 zusammen, legt den Wert der zusammengeführten Zellen fest und teilt dann die Zellen.

Verarbeiten Sie Daten stapelweise

# 假设成绩数据在第二列,从第二行到最后一行
grades = [sheet.cell(row=i, column=2).value for i in range(2, sheet.max_row + 1)]

# 计算平均分
average_grade = sum(grades) / len(grades)

# 输出结果
print(f"平均分: {average_grade}")

Methode 2: Verwenden Sie die Pandas-Bibliothek

import pandas as pd

# 创建一个DataFrame
data = {
    
    '姓名': ['Bob', 'Alice'], '年龄': [30, 25]}
df = pd.DataFrame(data)

# 将DataFrame写入Excel文件
df.to_excel('example_pandas.xlsx', index=False)

Fügen Sie hier eine Bildbeschreibung ein

Methode 3: Verwenden Sie xlwt

import xlwt

# 创建一个工作簿
workbook = xlwt.Workbook()

# 添加一个工作表
sheet = workbook.add_sheet('Sheet1')

# 写入数据
sheet.write(0, 0, '姓名')
sheet.write(0, 1, '年龄')
sheet.write(1, 0, 'Bob')
sheet.write(1, 1, 30)

# 保存工作簿
workbook.save('example_xlwt.xls')

Fügen Sie hier eine Bildbeschreibung ein
oder:
Listendaten schreiben

import xlwt

# 创建一个工作簿
workbook = xlwt.Workbook()

# 添加一个工作表
sheet = workbook.add_sheet('List_Data')

# 要写入的列表数据
data_list = ['Alice', 25, 'Bob', 30, 'Charlie', 35]

# 写入列表数据到Excel表格
for index, value in enumerate(data_list):
    sheet.write(index, 0, value)

# 保存工作簿
workbook.save('list_data_example.xls')

Dieser Code erstellt eine Excel-Tabelle und schreibt die Elemente der Liste zeilenweise in die erste Spalte der Excel-Tabelle.

Wörterbuchdaten schreiben

import xlwt

# 创建一个工作簿
workbook = xlwt.Workbook()

# 添加一个工作表
sheet = workbook.add_sheet('Dict_Data')

# 要写入的字典数据
data_dict = {
    
    'Name': ['Alice', 'Bob', 'Charlie'],
             'Age': [25, 30, 35]}

# 写入字典数据到Excel表格
for col_num, key in enumerate(data_dict.keys()):
    sheet.write(0, col_num, key)
    for row_num, value in enumerate(data_dict[key]):
        sheet.write(row_num + 1, col_num, value)

# 保存工作簿
workbook.save('dict_data_example.xls')

Dieser Code erstellt eine Excel-Tabelle, verwendet die Schlüssel im Wörterbuch als Kopfzeile und schreibt die Werte Zeile für Zeile in die Excel-Tabelle.

Lagerdaten schreiben

import xlwt
import numpy as np

# 创建一个工作簿
workbook = xlwt.Workbook()

# 添加一个工作表
sheet = workbook.add_sheet('Array_Data')

# 要写入的仓库数据
data_array = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

# 写入仓库数据到Excel表格
for row_num, row_data in enumerate(data_array):
    for col_num, value in enumerate(row_data):
        # 将numpy.int32类型转换为int类型
        sheet.write(row_num, col_num, int(value))

# 保存工作簿
workbook.save('array_data_example.xls')

Dieser Code erstellt eine Excel-Tabelle und schreibt die Elemente im Lager zeilenweise in die Excel-Tabelle.

Die oben genannten sind drei gängige Methoden zum Schreiben von Inhalten in Excel. Wählen Sie eine davon entsprechend Ihren persönlichen Gewohnheiten und Projektanforderungen.

lesen

Methode 2: Verwenden Sie die openpyxl-Bibliothek

import openpyxl

# 打开Excel文件
workbook = openpyxl.load_workbook('example.xlsx')

# 获取默认的工作表
sheet = workbook.active

# 读取数据
for row in sheet.iter_rows(values_only=True):
    print(row)

Dieser Code verwendet die openpyxl-Bibliothek, um die Excel-Datei zu öffnen, jede Zeile des Arbeitsblatts zu durchlaufen und die Daten auszudrucken.
Methode 3: XLRD-Bibliothek verwenden

import xlrd

# 打开Excel文件
workbook = xlrd.open_workbook('example.xls')

# 获取默认的工作表
sheet = workbook.sheet_by_index(0)

# 读取数据
for row_num in range(sheet.nrows):
    row = sheet.row_values(row_num)
    print(row)

Der obige Code verwendet die xlrd-Bibliothek, um die Excel-Datei zu öffnen, jede Zeile des Arbeitsblatts zu durchlaufen und die Daten auszudrucken.
Methode 4: Pyexcel-Bibliothek verwenden

import pyexcel

# 读取Excel文件
data = pyexcel.get_array(file_name='example.xlsx')

# 打印数据
for row in data:
    print(row)

Dieser Code verwendet die Funktion get_array der Pyexcel-Bibliothek, um die Excel-Datei zu lesen und die Daten zu drucken. PyExcel bietet eine einfache und benutzerfreundliche Oberfläche, die für Szenarien geeignet ist, in denen Daten schnell gelesen werden können.

Beispiel:
Beispieldaten erstellen und in eine Excel-Datei schreiben

import pandas as pd

# 创建示例数据
data = {
    
    '姓名': ['Alice', 'Bob'], '年龄': [25, 30]}
df = pd.DataFrame(data)

# 将示例数据写入Excel文件
df.to_excel('example.xlsx', index=False)

Lesen Sie eine vorhandene Excel-Datei und fügen Sie weitere Daten hinzu

import pandas as pd

# 读取已有的Excel文件
existing_data = pd.read_excel('example.xlsx')

# 添加更多的数据
new_data = {
    
    '姓名': ['Charlie', 'David'], '年龄': [28, 35]}
new_df = pd.DataFrame(new_data)

# 合并数据
combined_data = pd.concat([existing_data, new_df], ignore_index=True)

# 将合并后的数据写入Excel文件,不保存索引列
combined_data.to_excel('example_updated.xlsx', index=False)

Lesen Sie die zusammengeführten Daten und zeichnen Sie sie auf

import matplotlib.pyplot as plt

# 读取合并后的数据
combined_data = pd.read_excel('example_updated.xlsx')

# 提取姓名和年龄列
names = combined_data['姓名']
ages = combined_data['年龄']

# 绘制曲线图
plt.plot(names, ages, marker='o', linestyle='-')
plt.title('年龄曲线图')
plt.xlabel('姓名')
plt.ylabel('年龄')
plt.grid(True)
plt.show()

Fügen Sie hier eine Bildbeschreibung ein

Zusammenfassung

In der Datenverarbeitung und -analyse sind das Lesen und Schreiben von Excel-Dateien häufige und wichtige Aufgaben. Python stellt für diese Vorgänge eine Vielzahl von Bibliotheken und Methoden bereit, die die Datenverarbeitung einfach und effizient machen. In diesem Handbuch werden Methoden zur Verwendung von Pandas, openpyxl, xlrd, pyexcel und anderen Bibliotheken vorgestellt und gängige Szenarien zum Lesen und Schreiben von Excel behandelt.

写入内容:
    使用openpyxl库创建新的Excel工作簿,添加数据,并保存。
    使用pandas库创建DataFrame,然后将其写入Excel文件。
    使用xlwt和xlrd库创建工作簿和工作表,写入数据,然后保存。

读取Excel文件:
    使用pandas库的read_excel函数读取整个Excel文件或特定工作表。
    使用openpyxl库打开Excel文件,遍历工作表的每一行,读取数据。
    使用xlrd库打开Excel文件,遍历工作表的每一行,读取数据。
    使用pyexcel库的get_array函数快速读取Excel文件。

Supongo que te gusta

Origin blog.csdn.net/weixin_47869094/article/details/134517351
Recomendado
Clasificación