การจะ copy ชื่อ folder จริงๆมันก็เป็นเรื่องง่ายๆแหละครับ ถ้าหลักสิบก็สบายๆ แต่ถ้าเป็นหลักร้อยหลักพัน เราะจะเสียเวลาชีวิตนั่ง copy paste เองทำไม ในเมื่อมี python
ตัวอย่างผลลัพธ์

นี่คือ code ที่เขียน เพื่ออ่านชื่อ folder และเขียนลงในไฟล์ excel (บันทึกลงเพียง column เดียว)
import os
from openpyxl import Workbook
# Define the folder path
folder_path = "folder"
# Create a new Excel workbook
workbook = Workbook()
sheet = workbook.active
# Get a list of folder names in the specified directory
folder_names = os.listdir(folder_path)
# Iterate over the folder names and write them to Excel
for i, folder_name in enumerate(folder_names, start=1):
sheet.cell(row=i, column=1).value = folder_name
# Save the workbook
workbook.save("folder_names.xlsx")
อธิบายโค้ด
import os: เป็นการ import module ชื่อ os เพื่อใช้ฟังก์ชันในการติดต่อกับ Operating System. ในที่นี้จะเอาไว้ใช้ access และ list ชื่อโฟลเดอร์from openpyxl import Workbook: import คลาส Workbook จากไลบรารี่ openpyxl ซึ่ง Workbook ใช้สร้าง new Excel workbookfolder_path = "folder": บรรทัดนี้เป็นการระบบ path ของ folder ที่โปรแกรมจะอ่านชื่อ folder. สามารถเปลี่ยนชื่อ folder ได้ตามใจชอบworkbook = Workbook(): เป็นการสร้าง new instance ของ Workbook class ซึ่งอ้างไปอ้างถึง Excel workbooksheet = workbook.active: กำหนด active sheet ของ workbook โดยเก็บไว้ที่ตัวแปร sheet โดยปกติแล้ว workbook ที่สร้างใหม่จะมีอย่างน้อยอยู่แล้ว 1 sheetfolder_names = os.listdir(folder_path): บรรทัดนี้ใช้ os.listdir() ฟังก์ชันเพื่อรับค่าชื่อ folder ใน directory folder_path- code ใน loop for ที่เป็นการเริ่มปฏิบัติการเขียนข้อความลง excel
for i, folder_name in enumerate(folder_names, start=1): เป็นการ Loop list ของ folder_name จากนั้นทำการ assign แต่ละชื่อโฟลเดอร์ลงไปในตัวแปรชื่อว่า folder_name และฟังก์ชันที่ชื่อว่า enumrate ใช้ในการดึงค่า index (เก็บไว้ในตัวแปร i) และค่า folder_namesheet.cell(row=i, column=1).value = folder_name: set ค่าของ cell ที่ row ที่ i และ column 1 (column แรก) ใน sheet ไปยัง folder_name เมื่อวนไป loop ถัดไป ค่า i ก็จะบวกเพิ่มขึ้นเรื่อยๆ เช่น แถวที่ 2 คอลัมที่ 1
workbook.save("folder_names.xlsx"): บันทึก workbook ไปยังไฟล์ชื่อ folder_names.xlsx (คุณอาจเปลี่ยนแปลงเป็นชื่ออื่นก็ได้)
ลองเอาไปประยุกต์ใช้กันดูครับ
command line ตรวจสอบ spec ใน Windows OS
วิธีผูก วินิจฉัย (Diagnosis) กับ วัคซีน (Vaccine)
ETL ใน Data Engineering คืออะไร?
แก้ปัญหา export ภาษาไทยเพี้ยน ของ MySQL ใน phpMyAdmin
เชื่อมตารางตัวเองใน MySQL ด้วย SELF JOIN
เคล็ดลับเพิ่มประสิทธิภาพการใช้ Google Docs
เทคนิคการใช้ ChatGPT Plus ให้คุ้มค่า คุ้มราคา
เชื่อมหลายฐานข้อมูล MySQL ใน Codeigniter4