728x90
챗봇 데이터를 가공할 때
각 카테고리별로 20글자를 넘겨서는 안 된다는 제한사항이 있다
그래서 코드로 삭제할만한 단어를 삭제를 하는 코드를 만들었다
[방식]
- 우선 글자수 제한 초과하는 단어에 별도 표시하는 코드 작성
- 넘는 글자수만 별도 필터해서 확인하기
- 삭제해도 괜찮은 단어는 아래 코드로 삭제하기
function highlightLongText() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('카테고리 분류'); // 시트 이름
var range = sheet.getDataRange(); // 전체 데이터 범위 가져오기
var values = range.getValues(); // 시트 데이터 가져오기
// 색상 정의 (연두색 및 기본 흰색)
var highlightColor = "#CCFF99";
var defaultColor = "#FFFFFF";
// 기존 범위 크기와 동일한 2차원 색상 배열 생성
var bgColors = range.getBackgrounds();
// A~E열(1~5열)에 대해 20자 이상이면 연두색, 아니면 흰색
for (var row = 1; row < values.length; row++) {
for (var col = 0; col < 5; col++) {
var cellValue = values[row][col] ? values[row][col].toString().trim() : "";
bgColors[row][col] = (cellValue.length >= 20) ? highlightColor : defaultColor;
}
}
// 한 번에 색상 업데이트 (속도 향상)
range.setBackgrounds(bgColors);
SpreadsheetApp.flush(); // 변경 사항 즉시 적용
}
위 1번에 해당하는 코드
function cleanDColumnWithBlacklist() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var lastRow = sheet.getLastRow();
// D열 값 가져오기 (2행부터 마지막 행까지)
var dValues = sheet.getRange("D2:D" + lastRow).getValues();
// 제거할 단어 목록 (대소문자 구분 없이 처리)
var blacklist = ['블랙', '화이트'] ;
for (var i = 0; i < dValues.length; i++) {
var dText = dValues[i][0] ? String(dValues[i][0]).trim() : ""; // 문자열 변환 후 공백 제거
if (dText) {
// 1. 괄호 및 괄호 안의 내용 제거
var newDText = dText.replace(/\(.*?\)/g, "").trim();
// 2. 특정 단어 제거 (부분적으로 포함된 경우도 삭제)
blacklist.forEach(function(word) {
var regex = new RegExp(word, "gi"); // 대소문자 무시
newDText = newDText.replace(regex, "").trim(); // 단어 제거
});
// 3. 여러 개의 공백을 하나로 줄이기
newDText = newDText.replace(/\s+/g, " ").trim();
// 수정된 값 업데이트
sheet.getRange(i + 2, 4).setValue(newDText);
}
}
Browser.msgBox('D열에서 블랙리스트 단어 제거 완료!');
}
위 3번 작업에 해당하는 코드이다
(실제로는 제거할 코드 목록이 엄청 많다)
코딩을 활용하여 빠르게 오늘 카테고리 분류 완료했다
총 14,457개 진행 완료하였다
'프로그래밍 > 프로젝트' 카테고리의 다른 글
[학습조직] 2025 첫 모임 후기 (0) | 2025.01.24 |
---|---|
챗봇 규칙에 맞는지 자동으로 데이터 확인 코드 (0) | 2025.01.21 |
머신러닝을 활용한 챗봇 만들기 베타버전 완성 (0) | 2025.01.20 |
[Google Apps Script] cheerio 라이브러리 사용법 (0) | 2025.01.13 |
머신러닝 전에 지식 카테고리 분류하기 (0) | 2025.01.07 |
댓글