การจะ 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 (คุณอาจเปลี่ยนแปลงเป็นชื่ออื่นก็ได้)
ลองเอาไปประยุกต์ใช้กันดูครับ
ขั้นตอนการติดตั้ง Vuetify ใน Laravel
3 เทคนิค เพิ่มความเร็วใน Laravel
ฟังก์ชันวันเวลาที่น่าสนใจใน MySQL
เคล็ดลับการเรียงลำดับข้อมูลใน MySQL
เชื่อมตารางตัวเองใน MySQL ด้วย SELF JOIN
เคล็ดลับเพิ่มประสิทธิภาพการใช้ Google Docs
เทคนิคการใช้ ChatGPT Plus ให้คุ้มค่า คุ้มราคา
เชื่อมหลายฐานข้อมูล MySQL ใน Codeigniter4