Bonjour à tous, je suis un utilisateur avancé de Python.
Il y a quelques jours, alors que j'aidais les fans à résoudre des problèmes, je suis tombé sur une simple petite demande que je partagerai avec vous ici. Lorsque vous la rencontrerez à nouveau plus tard, vous pourrez vous inspirer d'ici.
Les questions des fans proviennent de besoins réels. L'image ci-dessous est les données originales. Vous devez remplir les données dans un autre tableau à 1-3 :
S'il s'agit d'un fonctionnement normal. , il faut cliquer dans le fichier Excel, puis copier chaque cellule, puis coller dans un nouveau fichier, puis enregistrer, puis renommer.
C'est tout à fait possible, mais que se passe-t-il s'il y a des centaines de dossiers à copier ? Qu’en est-il des milliers de fichiers ? Cela demandera certainement beaucoup de temps et d’énergie. On estime que cela ne sera peut-être pas terminé en un jour.
Ici, nous utilisons Python pour l'implémentation par lots !
Voici un code réalisable pour vous. L'idée est également très simple. La bibliothèque openpyxl l'implémente comme suit :
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}处理完成")
Une fois le code exécuté, le remplacement des données correspondant. dans le fichier Excel peut être réalisé. Mais il ne s'agit que du remplacement d'un seul fichier.
Si vous souhaitez remplacer par lots, vous devez ajouter une boucle for, comme indiqué ci-dessous :
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}处理完成")
Bonjour à tous, je m'appelle Pippi. Cet article passe principalement en revue un cas pratique de travail de bureautique automatisé Python. Ce cas peut être appliqué au traitement de fichiers dans un travail réel. Vous pouvez également l'améliorer légèrement et l'utiliser dans votre propre travail réel, et tirer des conclusions à partir d'un exemple. Grâce à ce cas, vous auriez dû apprendre beaucoup. Je pense qu'il devrait y avoir d'autres meilleures méthodes. Vous êtes invités à laisser un message dans la zone de message.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!