저는 Python을 처음 사용하며이 문제를 해결하는 방법에 대해 도움을 주셔서 감사합니다. 다음은 내가하려는 일입니다.CSV를 읽고 키워드 목록을 기반으로 열을 바꿉니다.
- 거래 목록이있는 CSV 파일을 읽으십시오. 각 행에는 6 개의 열이 있습니다.
각 행에 대해
DESCRIPTION
열을 키워드 목록과 비교하여 키워드 목록에 일치하는 단어가 있는지 확인하십시오.
어떤 단어가 키워드 목록에서 뭔가 일치하는 경우|Col0 | Col1 | Col2 | Col3 "DESCRIPTION" | Col4 | Col5 "CATEGORY"|
, 특정 키워드 목록 (예를 들어,
"Groceries"
)에 해당하는 새 항목과CATEGORY
열을 교체합니다.- 각 행을 여러 키워드 목록과 비교하면서 계속하십시오. 일치하는 경우 각 행의 열 5 (
CATEGORY
)를 해당 값으로 바꿉니다. - 새 CSV 파일로 저장하십시오. 목록 여기에 사용할 수있는 권리 일
import csv grocery_keyword = ['GIANT', 'SAFEWAY', 'KROGER'] with open('Trans.csv') as csvFile: reader = csv.reader(csvFile, delimiter=",") my_list = list(reader) for row in my_list: for index, item in enumerate(row): if any grocery_keyword in row: row[index] = item.replace("", "Grocery") newCSVFile = 'newCSVFile.csv' with open(newCSVFile, "w") as output: writer = csv.writer(output, delimiter=",", quotechar='"', quoting=csv.QUOTE_MINIMAL, lineterminator='\n') writer.writerows(my_list) csvFile.close()
가 : 여기
는 지금까지이 무엇입니까? 열과 키워드 목록을 어떻게 비교해야합니까?
가 발견, 감사합니다! – elboc
설명 카테고리가 여러 개의 키워드와 일치하면 CATEGORY에서 무엇을 사용 하시겠습니까? – scagnetti
좋은 질문입니다. 나는 그렇게까지 생각하지 않았습니다. 나는 상호 배타적 인 키워드가 있기 위하여 명부를 계획했다. 키워드와 일치하지 않는 나머지 행에 대해서는 수동으로 정렬해야합니다. – elboc