Heim  >  Artikel  >  Backend-Entwicklung  >  So automatisieren Sie Excel in Python

So automatisieren Sie Excel in Python

coldplay.xixi
coldplay.xixiOriginal
2020-10-20 09:45:2314771Durchsuche

So automatisieren Sie Excel mit Python: Installieren Sie zuerst das Python-Toolkit, lesen Sie dann die Excel-Tabelle aus dem angegebenen Dateipfad und führen Sie sie dann in einer anderen Excel-Datei aus.

So automatisieren Sie Excel in Python

Zugehörige kostenlose Lernempfehlungen: Python-Video-Tutorial

So automatisieren Sie Excel mit Python:

1. Toolkit

1, xl rd: Elektronisch aus Excel Daten aus der Tabellendokumentadresse extrahieren: https://xlrd.readthedocs.io/en/latest/

2: Daten in die Excel-Tabelle schreiben, Dokumentadresse: https://xlwt.readthedocs.org/en/latest /

3. xlutils: Bietet eine Reihe von Dienstprogrammen für die Verarbeitung von Excel-Dateien. Adresse: https://xlutils.readthedocs.io/en/latest/

python -m pip install xlrd xlwt xlutils

3. Grundlegende Verwendung

Das zugehörige Toolkit für die Python-Bedienung in Excel kann speziell den Füllstil, den numerischen Typ, die numerische Größe usw. der angegebenen Zellen steuern. Für den Betrieb von Excel in Python sind jedoch bestimmte Pandas-Datenverarbeitungsfähigkeiten erforderlich. Ein Kapitel wird später hinzugefügt: Pandas-Datenverarbeitungsfähigkeiten.

1 Lesen Sie die Excel-Tabelle aus dem angegebenen Dateipfad, führen Sie bestimmte Vorgänge aus und speichern Sie sie dann in einem anderen Excel Datei: result.xlsx

import xlwt
import xlrd
from xlutils.copy import copy
import pandas as pd
from pandas import DataFrame,Series
import os
os.chdir('./')
# 从指定文件路径读取excel表格
df = pd.read_excel('D:/mypaper/data/data.xlsx')
# 查看df内容
# 根据age算出出生年份,增加一列
import datetime
import os
year = datetime.datetime.now().year#获取当前系统时间对应的年份
df['birth'] = year-df['age']
df.to_excel('result.xlsx')#保存到当前工作目录,可以用os.getcwd()查看
#查看下此时df的内容,可以看到已经生成了birth这一列
Auf den ersten Blick scheint es, dass nur Pandas verwendet werden und die drei oben vorgestellten Toolkits nicht verwendet wurden. Das Folgende ist eine Einführung in die Verwendung von Python zum Betrieb der zugrunde liegenden Excel-Ebene 2. Zellenoperation

# 定义方法:读取指定目录下Excel文件某个sheet单元格的值
def excel_read(file_path,table,x,y):
     data = xlrd.open_workbook(file_path)
     table = data.sheet_by_name(table)
     return table.cell(y,x).value
# 定义方法:单元格值及样式
write_obj_list = []
def concat_obj(cols,rows,value):
    write_obj_list.append({'cols':cols,'rows':rows,'value':value,\
'style':xlwt.easyxf('font: name 宋体,height 280;alignment: horiz centre')})
# 定义方法:合并单元格
def merge_unit(srows,erows,scols,ecols,value):
    write_obj_list.append({'id':'merge','srows':srows,'erows':erows,'scols':scols,\
'ecols':ecols,'value':value,'style':xlwt.easyxf('font: name 宋体,height 280;alignment: horiz centre')})
# 定义方法:更新excel
excel_update(file_path,write_obj_list,new_path):
    old_excel = xlrd.open_workbook(file_path, formatting_info=True)
    #管道作用
    new_excel = copy(old_excel)
    '''
    通过get_sheet()获取的sheet有write()方法
    '''
    sheet1 = new_excel.get_sheet(0)
    '''
    1代表是修改第几个工作表里,从0开始算是第一个。此处修改第一个工作表
    '''
    for item in write_obj_list:
        if 'id' not in item.keys():
            if 'style' in item.keys():
                sheet1.write(item['rows'], item['cols'], item['value'],item['style'])
            else:
                sheet1.write(item['rows'], item['cols'], item['value'])
        else:
            if 'style' in item.keys():
                sheet1.write_merge(item['srows'],item['erows'],item['scols'], item['ecols'], item['value'],item['style'])
            else:
                sheet1.write_merge(item['srows'],item['erows'],item['scols'], item['ecols'], item['value'])
    '''
    如果报错 dict_items has no attributes sort
    把syle源码中--alist.sort() 修改为----> sorted(alist) 
    一共修改2次
    '''
    new_excel.save(file_path)
#参数详解
# srows:合并的起始行数
# erows:合并的结束行数
# scols:合并的起始列数
# ecols:合并的结束列数 
# value:合并单元格后的填充值
# style:合并后填充风格:
#     font: name 宋体
#     height 280;
#     alignment: horiz centre
#     ... 与excel操作基本保持一致

Hinweis: Diese Methode dient nur dazu, die auszuführenden Aktionen in einer Liste zu speichern. Die eigentliche Aktion wurde noch nicht in der Methode excel_update ausgeführt Die Methode excel_update wird aufgerufen, wobei die write_obj_list der Vorgänge und Füllwerte übergeben wird, die für jede Zelle ausgeführt werden müssen, und der Dateipfad file_path

kann die gewünschte Excel-Ergebnisdatei im aktuellen Arbeitsverzeichnis generieren.

Hinweis:

1.write_obj_list unterstützt die Benutzeranpassung

2.write_obj_list kann auch durch Lesen der vorhandenen Excel-Datei generiert werden, um sie gemäß der excel_read-Methode zu ändern (das Format der Originaltabelle kann beibehalten werden)

Python betreibt Excel. Es gibt viele andere grundlegende Methoden, die aus Platzgründen nicht aufgeführt oder demonstriert werden. Wer sich eingehend informieren möchte, kann auf die Dokumentadresse oben klicken.

Erfahren Sie, wie Sie Excel-Zellen mit Python bedienen, und beherrschen Sie die oben genannten Methoden, um grundsätzlich automatisierte Berichtsvorgänge in Excel zu realisieren.

Das obige ist der detaillierte Inhalt vonSo automatisieren Sie Excel in Python. 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