Grundlegende Sprache - Tag 18 - CSV-, Excel-Dateioperationen

csv, Excel-Dateioperationen

1. CSV-Dateioperation

1. Definition

Eine CSV-Datei wird als Datei mit kommagetrennten Werten bezeichnet: Jede Inhaltszeile wird durch ein Komma zwischen verschiedenen Spalten getrennt.

Die csv-Datei kann direkt über Excel geöffnet werden und die Daten können gespeichert und in Form von Zeilen und Spalten angezeigt werden, aber im Vergleich zur Excel-Datei kann sie nur Daten speichern und keine Formeln und Funktionen speichern.

2.csv-Dateilesevorgang

  • CSV-Bibliothek importieren

    import csv    
    
  • öffne einen Ordner

    open(csv文件路径, 'r', encoding='utf-8')
    
    可以不用手动关闭文件,文件操作结束就关闭文件。
    with open('files/data.csv', 'w', encoding='utf-8', newline='') as f:
     pass
    
  • Dateilesevorgang

    1)csv.reader(文件对象):
    获取文件内容返回一个迭代器,以列表为单位返回每一行内容。
    2)csv.DictReader(文件对象):
    获取文件内容返回一个迭代器,以字典为单位返回第二行开始的每一行内容,第一行内容为字典的键,。
    
  • Datei schließen

    文件对象.close()
    
  • Ablaufcode des gesamten Lesevorgangs

    import csv    # 先导包
    
    # 1)创建打开csv文件
    f = open('files/电影.csv', 'r', encoding='utf-8', newline='')
    
    # 2)获取文件内容
    # (1)csv.reader(文件对象): 获取文件内容返回一个迭代器,以列表为单位返回每一行内容。
    # reader1 = csv.reader(f)
    # print(list(reader1))
    
    # (2)csv.DictReader(文件对象):获取文件内容返回一个迭代器,以字典为单位返回第二行开始的每一行内容,第一行内容为字典的键,。
    reader2 = csv.DictReader(f)
    print(list(reader2))
    
    # 3)关闭文件
    f.close()
    

3. CSV-Datei schreiben

  • CSV-Bibliothek importieren

  • öffne einen Ordner

    open('files/data.csv', 'w', encoding='utf-8', newline='')
    
  • Dateischreibvorgang: Writer-Objekt erstellen

    1) csv.writer(): Erstellen Sie ein Writer-Objekt, eine Zeile entspricht einer Liste beim Schreiben von Daten.

    2) csv.DictWriter(): Erstellen Sie ein Writer-Objekt und schreiben Sie Daten in Wörterbucheinheiten.

  • Datei schließen

    文件对象.close()
    
  • Gesamtcode

    with open('files/data.csv', 'w', encoding='utf-8', newline='') as f:
        # ===========列表写入==========
        # writer1 = csv.writer(f)
        # # 一次写入一行
        # writer1.writerow(['姓名', '出生日期', '性别', '年龄'])
        # writer1.writerow(['小明', '19990616', '男', 23])
        # # 一次写入多行内容
        # writer1.writerows([
        #     ['小明', '19990616', '男', 23],
        #     ['小花', '19991216', '女', 23]
        # ])
    
        # ===========字典写入==========
        writer2 = csv.DictWriter(f, ['姓名', '出生日期', '性别', '年龄'])
        # 将字典的键写入文件开头
        writer2.writeheader()
    
        # 一次写入一行内容
        writer2.writerow({
          
          '姓名': '小华', '出生日期': '19890101', '性别': '男', '年龄': 33})
    

2. Virtuelle Umgebung

1. Systemumgebung

安装python就可以为计算机提供一个python的系统环境。

2. Virtuelle Umgebung

程序员根据自己需要创建的python环境。
能创建虚拟环境的前提:存在系统环境。

3. Die Rolle der Umwelt

1)提供Python解释器
2)提供第三方库
虚拟环境可以让第三方库根据类别或者项目分开管理。

4. Empfehlungen für die Verwendung einer virtuellen Umgebung

1)工作时:一个项目一个虚拟环境,且将虚拟环境直接放在项目中。
2)学习时:一类项目一个虚拟环境,不同类别的虚拟环境放在一个地方。

5. Erstellen Sie eine virtuelle Umgebung

  • Erstellen mit pycharm (Windows)

    file -> Settings -> Project -> Python Interpreter
    

    Bildbeschreibung hier einfügen
    Klicken Sie auf den Pfeil im roten Feld, um das Dropdown-Menü zu öffnen, klicken Sie auf Alle anzeigen
    Bildbeschreibung hier einfügen
    Bildbeschreibung hier einfügen
    und schließlich auf OK, um es zu erstellen Verwenden Sie diese virtuelle Umgebung, um Module in dieser Umgebung zu installieren.

  • Mit Direktive erstellen

Drittens, Excel-Dateioperation

1. Kennen Sie die Excel-Datei

  • Arbeitsmappe: Eine Excel-Datei ist eine Arbeitsmappe
  • Arbeitsblätter: Eine Arbeitsmappe kann mehrere Arbeitsblätter (mindestens eines) enthalten
  • Zelle: Eine Zelle ist die Grundeinheit zum Speichern von Daten in einer Excel-Datei
  • Zeilen- und Spaltennummern: Bestimmen Sie die Zellenpositionen

2. Lesevorgang für Excel-Datei

  • openpyxl-Bibliothek importieren

    import openpyxl
    
  • Öffnen Sie eine Excel-Datei, um ein Arbeitsmappenobjekt zu erstellen

    openpyxl.open(excel文件路径)
    openpyxl.load_workbook(文件路径)
    
  • Arbeitsblatt bekommen

    工作簿对象.active
    工作簿对象.['工作表名称']
    
  • Zelle bekommen

    工作表对象.cell(行号,列号)
    
  • Zellinhalt bekommen

    单元格对象.value
    
  • Holen Sie sich die maximale Zeilenzahl und maximale Spaltenzahl (gültige Zeilen und gültige Spalten, die die Daten enthalten)

    工作表对象.max_row
    工作表对象.max_column
    
  • Gesamter Lesevorgangscode für Excel-Datei

    import openpyxl
    
    # 1)打开excel文件创建工作簿对象
    # workbook = openpyxl.open('files/三国人物数据.xlsx')
    workbook = openpyxl.load_workbook('files/三国人物数据.xlsx')
    
    # 获取工作簿中所有的工作表的表名
    result = workbook.sheetnames
    print(result)       # ['全部人物数据', '三个国家的武力', '三个国家武将的武力', '三国武将数据', '三国文官数据']
    
    # 2)获取工作表
    sheet1 = workbook.active    # 获取1
    print(sheet1)
    
    sheet2 = workbook['三国武将数据']    # 获取2
    print(sheet2)
    
    # 3)获取单元格
    cell1 = sheet2.cell(8, 1)
    cell2 = sheet2.cell(12, 1)
    print(cell1, cell2)
    
    # 4)获取单元格内容
    print(cell1.value)
    print(cell2.value)
    
    # 5)获取最大行号和最大列号(保存了数据的有效行和有效列)
    # 工作表对象.max_row
    # 工作表对象.max_column
    print(sheet2.max_row)
    print(sheet2.max_column)
    
    
    # 获取表中内容例子
    # 获取第一列所有数据
    column1 = []
    for row in range(1, sheet2.max_row+1):
        cell = sheet2.cell(row, 1)
        column1.append(cell.value)
    
    print(column1)
    
    # 获取第一列到第3列所有的数据
    for col in range(1, 4):
        column = []
        for row in range(1, sheet2.max_row+1):
            cell = sheet2.cell(row, col)
            column.append(cell.value)
        print(column)
    

3. Schreibvorgang für Excel-Datei

  • openpyxl-Bibliothek importieren

    import openpyxl
    
  • Neues Arbeitsbuch:

    a. Erstellen Sie ein neues Arbeitsmappenobjekt – Arbeitsmappe

    workbook = openpyxl.Workbook()
    

    Hinweis : Lebenswirklichkeit: Um tatsächlich eine neue Arbeitsmappe zu erstellen, müssen Sie zunächst feststellen, ob die entsprechende Datei der Arbeitsmappe bereits existiert, falls vorhanden, müssen Sie keine neue erstellen.

  • Arbeitsblatt Operationen

    a. Arbeitsblatt erstellen - create_sheet

    工作簿对象.create_sheet(表名)
    

    Hinweis: Die eigentliche neue Tabelle: Erstellen Sie eine neue Tabelle nur, wenn sie nicht verfügbar ist, und öffnen Sie sie manchmal direkt

    b. Arbeitsblatt löschen - entfernen

    工作簿对象.remove(工作表对象)
    实际中的删除表:有的时候才删除
    
  • Zellenschreiboperation

    单元格对象.value = 数据
    
  • Dokument speichern

    工作簿对象.save(文件路径)
    
  • Der gesamte Prozesscode des Vorgangs zum Schreiben von Excel-Dateien

    import openpyxl
    
    # 1)新建工作簿
    # 方法一:异常捕获
    try:
        workbook = openpyxl.open('files/students.xlsx')
    except FileNotFoundError:
        workbook = openpyxl.Workbook()
        
    # 2)新建工作表
    # a.创建工作表
    # 实际中的新建表:没有的时候才新建,有的时候直接打开
    if 'Python' in workbook.sheetnames:
       sheet = workbook['Python']
    else:
       workbook.create_sheet('Python')
    
    # b.删除工作表
    # 实际中的删除表:有的时候才删除
    if 'Sheet1' in workbook.sheetnames:
        workbook.remove(workbook['Sheet1'])
    print(workbook.sheetnames)
    
    # 3)单元格的写操作
    # 单元格对象.value = 数据
    java_sheet = workbook['Java']
    java_sheet.cell(1,3).value = '电话'   # 增加
    java_sheet.cell(2,1).value = None   # 删除
    java_sheet.cell(2,2).value = 'stu003'    # 修改
    
    # 4)保存
    workbook.save('files/students.xlsx')
    

Supongo que te gusta

Origin blog.csdn.net/simple_daytime/article/details/126273475
Recomendado
Clasificación