Split Column
split_column · columns · text
2026-09-23
กำลังประมวลผล…
split_column · columns · text
2026-09-23
ข้อมูลที่กรอกมาในช่องเดียว เช่น "สมชาย ใจดี" หรือ "กรุงเทพ, ประเทศไทย" มักต้องแยกก่อนใช้งานจริง เทคนิคนี้แยกออกเป็นคอลัมน์ใหม่ตามกติกาที่เลือก และหยุดพร้อมคำอธิบายถ้าข้อมูลมีส่วนมากกว่าคอลัมน์ที่เตรียมไว้ แทนการตัดทิ้งเงียบ ๆ
TH-10240extract_pattern ดึงเฉพาะส่วนที่ต้องการจะปลอดภัยกว่าdelimiter แยกตามข้อความที่กำหนด position แยกตามจำนวนอักขระ (นับแบบ code point จึงใช้กับภาษาไทยและอิโมจิได้) และ regex แยกตามรูปแบบinto ระบบจะหยุดและบอกให้เพิ่มคอลัมน์ปลายทางก่อนremoveSource เพื่อลบคอลัมน์ต้นทางหลังแยกเสร็จ| Parameter | Type | Default |
|---|---|---|
column | string | — |
by | delimiter | position | regex | "delimiter" |
delimiter | string | "," |
position | number | 1 |
regex | string | "\\s+" |
into | string[] | — |
removeSource | boolean | false |
import json
def split_column(values, delimiter=',', into=2):
result = []
for value in values:
if value is None:
result.append([None] * into)
continue
parts = str(value).split(delimiter)
if len(parts) > into:
raise ValueError('More segments than output columns; add output names before splitting')
result.append(parts + [None] * (into - len(parts)))
return result
values = ['ไทย,English', None, ',']
print(json.dumps(split_column(values), ensure_ascii=False))
คอลัมน์ full_name เก็บชื่อและนามสกุลคั่นด้วยช่องว่าง เลือกโหมด regex ด้วยรูปแบบ \s+ ตั้งชื่อคอลัมน์ใหม่เป็น first_name และ last_name ถ้าระบบแจ้งว่ามีแถวที่แยกได้เกินสองส่วน แปลว่ามีชื่อกลางหรือคำนำหน้า ให้เพิ่มคอลัมน์ที่สามหรือใช้ extract_pattern แทน อย่าปล่อยให้ข้อมูลบางส่วนหายไป
ใช้ trim_whitespace ก่อนเพื่อไม่ให้ช่องว่างกลายเป็นส่วนเกิน ใช้ merge_columns เมื่อต้องการทำย้อนกลับ และใช้ extract_pattern เมื่อโครงสร้างข้อความไม่คงที่