สคริปต์แยกตารางพัฒนาและปรับแต่ง

สคริปต์ Python ที่แยกไฟล์ Excel หรือ CSV ขนาดใหญ่เป็นไฟล์เล็กลงตามจำนวนแถวหรือตามคอลัมน์

ปกติเสร็จภายใน 15 นาทีรวมการแก้ไขตรวจสอบคุณภาพ
แพ็กเกจ
การคุ้มครองการชำระเงินรายละเอียด
  • การแก้ไขภายในแพ็กเกจไม่มีค่าใช้จ่าย
  • หากคุณไม่ตอบกลับภายใน 3 วันหลังส่งมอบ งานจะถูกยอมรับโดยอัตโนมัติ

เงินจะถูกพักไว้เมื่อคุณชำระ และจะถูกโอนก็ต่อเมื่อคุณยอมรับงานแล้วเท่านั้น

สคริปต์ Python ที่แยกไฟล์ Excel หรือ CSV ขนาดใหญ่เป็นไฟล์เล็กลงตามจำนวนแถวหรือตามคอลัมน์

ตัวอย่างผลงาน

ตัวอย่างของแพ็กเกจสแตนดาร์ด

รวมไฟล์ยอดขายรายเดือนของ 9 ร้านเป็นรายงาน Excel ไฟล์เดียว

วิธีรัน

python merge_sales.py --month 2026-10
2026-11-02 09:14:03 INFO  โฟลเดอร์: sales/2026-10 พบ 9 ไฟล์
2026-11-02 09:14:03 INFO  shop-01.csv: 1,284 แถว
2026-11-02 09:14:04 INFO  shop-02.xlsx: 967 แถว
2026-11-02 09:14:04 WARN  shop-07.csv: ข้าม 3 แถวที่ไม่มีราคา (บรรทัด 88, 412, 913)
2026-11-02 09:14:05 INFO  เสร็จแล้ว: 10,412 แถว -> report-2026-10.xlsx (ชีต “ยอดขาย” และ “ยอดรวม”)

ตั้งค่าในไฟล์ ไม่ต้องแก้โค้ด

ชื่อคอลัมน์ของแต่ละสาขาอยู่ใน settings.ini ดังนั้นสาขาใหม่หรือคอลัมน์ที่เปลี่ยนชื่อก็แค่เพิ่มหนึ่งบรรทัดในไฟล์นั้น:

[columns]
date = วันที่, วันที่ขาย, วัน
product = สินค้า, รายการ, ชื่อสินค้า
quantity = จำนวน, ปริมาณ, ชิ้น
price = ราคา, ราคาต่อหน่วย

ตัวอย่างโค้ดบางส่วน

def read_shop_file(path: Path, columns: dict[str, list[str]]) -> pd.DataFrame:
    """อ่านไฟล์ของสาขาหนึ่งและตั้งชื่อคอลัมน์ให้ตรงกับรายงาน"""
    table = pd.read_excel(path) if path.suffix == ".xlsx" else pd.read_csv(path, encoding="utf-8-sig")
    renamed = {}
    for name, variants in columns.items():
        found = next((c for c in table.columns if c.strip() in variants), None)
        if found is None:
            raise ReportError(f"{path.name}: ไม่พบคอลัมน์สำหรับ “{name}” (ค้นหาจาก {', '.join(variants)})")
        renamed[found] = name
    table = table.rename(columns=renamed)[list(columns)]
    table["shop"] = path.stem
    return table

ไฟล์ที่ส่งมอบ: ไฟล์ ZIP ที่มี merge_sales.py (310 บรรทัด) settings.ini requirements.txt และ README อธิบายการติดตั้ง Python การรันสคริปต์ และความหมายของแต่ละข้อความในล็อก ลูกค้ารันสคริปต์บนคอมพิวเตอร์ของตัวเอง

ลูกค้า: ร้านเครื่องเขียนเครือเล็ก ๆ 9 สาขา แต่ละสาขาส่งยอดขายของเดือนมาเป็นไฟล์ CSV หรือ Excel โดยชื่อคอลัมน์ต่างกันเล็กน้อย งาน: สคริปต์ตัวเดียวที่อ่านทุกไฟล์ในโฟลเดอร์ ปรับคอลัมน์ให้เป็นรูปแบบเดียวกัน แล้วเขียนรายงาน Excel ไฟล์เดียวที่มียอดขายทั้งหมดและชีตสรุปยอดรวมแยกตามสาขา

ลูกค้าและข้อมูลทั้งหมดเป็นเรื่องสมมติ

เกี่ยวกับบริการนี้

ตารางที่มีหลายแสนแถวเปิดยาก ใหญ่เกินกว่าฟอร์มนำเข้าที่รับครั้งละ 5,000 แถว หรือต้องแบ่งส่งให้หลายคน สคริปต์ Python นี้แยกให้คุณ เป็นส่วนละจำนวนแถวที่กำหนด หรือตามค่าในคอลัมน์ เพื่อให้แต่ละภูมิภาค สาขา หรือพนักงานขายได้ไฟล์ของตัวเอง ทุกส่วนมีแถวหัวตารางและลำดับคอลัมน์เหมือนเดิม และตั้งชื่อไฟล์ตามที่คุณต้องการ เช่น orders_north.xlsx สคริปต์อ่าน CSV และ Excel และบันทึกได้ทั้งสองแบบ ส่งตัวอย่างไม่กี่แถวของตารางและกฎมาให้เรา คุณรันสคริปต์เองบนคอมพิวเตอร์ของคุณ และไฟล์ต้นฉบับจะไม่ถูกเปลี่ยน สคริปต์แยกข้อมูล ไม่ได้ตรวจหรือแก้ค่าในข้อมูล

สิ่งที่รวมอยู่ในบริการ

  • สิ่งที่คุณจะได้รับไฟล์ ZIP ที่มีสคริปต์ Python, README พร้อมคำแนะนำทีละขั้นตอน และตั้งแต่สแตนดาร์ดขึ้นไป มีไฟล์ตั้งค่าพร้อมกฎการแยกและชื่อไฟล์ โค้ดยังแสดงบนหน้าคำสั่งซื้อด้วย
  • ตามแถวหรือตามคอลัมน์ส่วนเท่า ๆ กัน หรือหนึ่งไฟล์ต่อหนึ่งค่า
  • หัวตารางในทุกส่วนแต่ละไฟล์เปิดและนำเข้าได้ด้วยตัวเอง
  • ชื่อไฟล์ของคุณพร้อมตัวเลขหรือค่าของคอลัมน์ในชื่อ
  • ต้นฉบับไม่ถูกแตะต้องส่วนที่แยกบันทึกไว้ในโฟลเดอร์ต่างหาก
  • โค้ดที่อ่านง่ายมีคอมเมนต์ แก้กฎภายหลังได้ง่าย

วิธีการทำงาน

  1. 1
    งานคุณส่งตัวอย่างไม่กี่แถวและบอกวิธีแยกไฟล์
  2. 2
    โค้ดเราเขียนสคริปต์และคู่มือการรัน
  3. 3
    ทดลองใช้คุณรันกับไฟล์ของคุณและตรวจส่วนที่แยกได้
  4. 4
    การแก้ไขคุณขอแก้ไขได้ภายในแพ็กเกจและส่งข้อความแจ้งข้อผิดพลาดมาหากมี

สิ่งที่เราต้องการจากคุณ

10-20 แถวแรกของตารางเป็น CSV หรือ Excel (เปลี่ยนชื่อและตัวเลขจริงได้) ไฟล์เต็มมีกี่แถวและใหญ่แค่ไหน และกฎ เช่น ส่วนละกี่แถว หรือหนึ่งไฟล์ต่อหนึ่งค่าของคอลัมน์ (ระบุชื่อคอลัมน์) ตั้งชื่อส่วนต่าง ๆ อย่างไร CSV หรือ Excel และแยกเป็นไฟล์ต่างหากหรือเป็นชีตในเวิร์กบุ๊กเดียว ระบบของคุณ Windows, macOS หรือ Linux

เราจะถามคุณว่า:

  • ไฟล์ไหนที่ต้องแยก
  • ควรแยกอย่างไร
  • ส่วนที่แยกควรเป็นแบบไหน
  • จะรันที่ไหน

เปรียบเทียบแพ็กเกจ

แพ็กเกจเบสิกแยกตามจำนวนแถว฿544สแตนดาร์ดแยกพร้อมไฟล์ตั้งค่า฿1,122พรีเมียมเครื่องมือแยกตาราง฿2,278
กำหนดส่ง1 วัน2 วัน3 วัน
การแก้ไข123
โค้ดไม่เกิน 150 บรรทัดไม่เกิน 400 บรรทัดไม่เกิน 1,000 บรรทัด
ไฟล์โค้ด1ไม่เกิน 3ไม่เกิน 8
ไฟล์ตั้งค่าไม่มีมีมี
ข้อความแจ้งข้อผิดพลาดที่ชัดเจนและล็อกไม่มีมีมี
ตัวเลือกการรันและคู่มือการตั้งเวลารันไม่มีไม่มีมี
คู่มือการติดตั้งและการรัน (README)มีมีมี
ภาษาPythonPythonPython
สั่งซื้อ เบสิกสั่งซื้อ สแตนดาร์ดสั่งซื้อ พรีเมียม

การคุ้มครองการชำระเงิน

คุณชำระเงินเมื่อสั่งซื้อ แต่เงินจะถูกโอนเฉพาะสำหรับงานที่ยอมรับแล้วเท่านั้น

  • ราคาคงที่ราคาแพ็กเกจจะไม่เปลี่ยนแปลงหลังจากคุณชำระเงิน
  • เงินถูกพักไว้เมื่อคุณชำระเงิน ยอดเงินจะถูกพักไว้เท่านั้น และจะถูกโอนออกเมื่อคุณยอมรับงานแล้ว
  • ตรวจสอบก่อนส่งมอบผลงานทุกชิ้นผ่านการตรวจสอบคุณภาพก่อนถึงมือคุณ และคุณจะเห็นผลงานในหน้าคำสั่งซื้อก่อนยอมรับงาน
  • แก้ไขฟรีขอแก้ไขภายในขอบเขตรายละเอียดงานของคุณได้ตามจำนวนครั้งที่แพ็กเกจกำหนด
  • ยอมรับงานหลัง 3 วันหากภายใน 3 วันหลังส่งมอบ คุณไม่ได้ยอมรับงานหรือขอแก้ไข งานจะถูกยอมรับโดยอัตโนมัติ หากคุณเขียนข้อความในแชทคำสั่งซื้อหลังส่งมอบ คำสั่งซื้อจะรอไว้ก่อน เมื่อเราตอบกลับแล้ว เราอาจเริ่มนับ 3 วันใหม่ และจะแจ้งให้ทราบในแชท
  • ทำใหม่หรือคืนเงินเต็มจำนวนหากผลงานไม่ตรงตามรายละเอียดงานและการแก้ไขยังไม่ช่วย หรืองานใช้เวลาเกินกำหนดส่งมากกว่าสองเท่า ให้เขียนแจ้งในแชทคำสั่งซื้อ เราจะทำงานใหม่หรือคืนเงินให้เต็มจำนวน
วิธีการทำงาน →

คำถามและคำตอบ

แยกไฟล์ที่ Excel เปิดไม่ได้ได้ไหม

ได้ หากเป็น CSV สคริปต์อ่านทีละบรรทัด ไฟล์ที่มีหลายล้านแถวจึงไม่มีปัญหา ส่วนไฟล์ .xlsx ต้องไม่เกินข้อจำกัดของ Excel เองที่ 1,048,576 แถวต่อชีต

แยกตามสองคอลัมน์พร้อมกันได้ไหม

ได้ ตั้งแต่สแตนดาร์ดขึ้นไป เช่น หนึ่งไฟล์ต่อภูมิภาคและเดือน บอกเราว่าใช้คอลัมน์ไหนและชื่อไฟล์ควรเป็นแบบไหน

วันที่และเลขศูนย์นำหน้าจะยังอยู่ไหม

อยู่ ค่าถูกคัดลอกเป็นข้อความเว้นแต่คุณขอเป็นอย่างอื่น รหัสอย่าง 00125 จึงยังมีเลขศูนย์ครบ บอกเราว่าคอลัมน์ไหนเก็บวันที่หรือตัวเลข

คุณจะแยกไฟล์ให้ฉันไหม

ไม่ คุณรันสคริปต์บนคอมพิวเตอร์ของคุณ ไฟล์เต็มจึงอยู่กับคุณ เราต้องการแค่ตัวอย่างไม่กี่แถว

ไม่พบคำตอบใช่ไหม

แพ็กเกจ