Ein klarer Artikel über die Verwendung von Python zur Stapelgenerierung von Excel-Zieltabellen basierend auf Original-Excel-Tabellen

WBOY
Freigeben: 2023-04-11 19:30:30
nach vorne
1298 Leute haben es durchsucht

Hallo zusammen, ich bin ein fortgeschrittener Python-Benutzer.

1. Vorwort

Vor ein paar Tagen bin ich auf eine einfache kleine Bitte gestoßen, die ich hier mit euch teilen werde.

2. Bedarfsklärung

Die Fragen der Fans stammen aus dem tatsächlichen Bedarf. Das Bild unten zeigt die Originaldaten bei 1-3:

Ein klarer Artikel über die Verwendung von Python zur Stapelgenerierung von Excel-Zieltabellen basierend auf Original-Excel-Tabellen

Wenn es sich um einen normalen Betrieb handelt , es muss sein: Klicken Sie in die Excel-Datei, kopieren Sie dann jede Zelle, fügen Sie sie dann in eine neue Datei ein, speichern Sie sie und benennen Sie sie dann um.

Das ist durchaus möglich, aber was ist, wenn Hunderte von Ordnern kopiert werden müssen? Was ist mit Tausenden von Dateien? Es wird auf jeden Fall viel Zeit und Energie erfordern. Es wird geschätzt, dass es möglicherweise nicht an einem Tag abgeschlossen sein wird.

Hier verwenden wir Python für die Batch-Implementierung!

3. Implementierungsprozess

Die Idee ist auch sehr einfach. Der Code lautet wie folgt:

import openpyxl

workbook1 = openpyxl.load_workbook("模板.xlsx")
worksheet1 = workbook1.worksheets[0]
print(worksheet1['C4'].value)# 金额
print(worksheet1['D4'].value)# 公司
print(worksheet1['F4'].value)# 编号

workbook2 = openpyxl.load_workbook("订单.xlsx")
worksheet2 = workbook2[0]
print(worksheet2['C3'].value)# 城市
print(worksheet2['D3'].value)# 编号
print(worksheet2['CU3'].value)# 金额
print(worksheet2['DM3'].value)# 公司

print(f"正在处理订单:{worksheet2['C3'].value}...")
worksheet1['C4'].value = worksheet2['CU3'].value
worksheet1['D4'].value = f"{worksheet2['DM3'].value}分公司"
worksheet1['F4'].value = worksheet2['D3'].value
new_file_name = f"({worksheet2['C3'].value} {worksheet2['D3'].value})"
workbook1.save(new_file_name + '.xlsx')
print(f"订单:{worksheet2['C3'].value}处理完成")
Nach dem Login kopieren

Nachdem der Code ausgeführt wurde in der Excel-Datei realisiert werden kann. Dies ist jedoch nur der Ersatz einer einzelnen Datei.

Wenn Sie stapelweise ersetzen möchten, müssen Sie eine for-Schleife hinzufügen, wie unten gezeigt:

for i in range(len(worksheet.row)):
print(f"正在第{i}行,处理订单:{worksheet2[f'C{i}'].value}...")
worksheet1['C4'].value = worksheet2[f'CU{i}'].value
worksheet1['D4'].value = f"{worksheet2[f'DM{i}'].value}分公司"
worksheet1['F4'].value = worksheet2[f'D{i}'].value
new_file_name = f"({worksheet2[f'C{i}'].value} {worksheet2[f'D{i}'].value})"
workbook1.save(new_file_name + '.xlsx')
time.sleep(3)
print(f"订单:{worksheet2[f'C{i}'].value}处理完成")
Nach dem Login kopieren

3 Zusammenfassung

Hallo zusammen, ich bin Pippi. In diesem Artikel wird hauptsächlich ein praktischer Fall der automatisierten Büroarbeit mit Python besprochen. Dieser Fall kann auf die Dateiverarbeitung in der tatsächlichen Arbeit angewendet werden. Sie können ihn auch leicht verbessern und in Ihrer eigenen tatsächlichen Arbeit verwenden und Schlussfolgerungen aus einem Beispiel ziehen. Durch diesen Fall sollten Sie viel gelernt haben. Ich glaube, es sollte andere bessere Methoden geben. Sie können gerne eine Nachricht im Nachrichtenbereich hinterlassen.

Das obige ist der detaillierte Inhalt vonEin klarer Artikel über die Verwendung von Python zur Stapelgenerierung von Excel-Zieltabellen basierend auf Original-Excel-Tabellen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:51cto.com
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage