일본어 컬럼을 자동으로 알파 컬럼으로 변환하는 React 웹 앱을 만들어 보았습니다.

BigQuery에 csv 파일등의 데이터를 로드할 때에, 컬럼명의 유니코드 대응이 아직 되어 있지 않은 것으로, 만약 컬럼명이 일본어의 경우는 헤더를 영숫자로 변환할 필요가 나온다.
소량의 컬럼이라면 손으로 변환하는 것이 좋습니다. 그러나 많은 컬럼이있는 경우 상당히 번거로울 수 있습니다.
이러한 장면에서 활약할 것 같은 일본어 컬럼의 csv 파일을 자동으로 영문자 컬럼으로 변환하여 데이터를 로드시키는 툴을 만들어 보았습니다.

도구의 사용감



csv 파일을 읽으면 텍스트 열에 원래 열 이름과 번역 된 텍스트로 변환 된 알파벳 문자가 표시됩니다.

다음은 국토 교통성의 태풍 위치 데이터를 읽은 화면의 예입니다.
보시다시피 일부에서 변환 할 수없는 문자가 있음을 알 수 있습니다. 이 화면에서 편집할 수 있습니다.

또, type열로 임포트처의 데이터형을 여기서 결정할 수도 있도록 하고 있습니다. 처음에는 모두 string형에 고정시키고 있습니다. 문자열 유형에서 적절한 유형을 선택하는 것이 좋습니다.
(아직 bq load --autodetect와 같은 데이터 유형의 자동 추정까지는 수행되지 않았습니다.)



숫자로 시작하는 문자도 BigQuery의 열 이름에 사용할 수 없으므로 편집합니다.
이 예에서는 type도 데이터에 맞추어 integer, float로 바꾸어 버립니다.



마지막으로 Create Table 버튼을 누르면 BigQuery가 테이블을 만들어 데이터를 가져옵니다.

다음은 데이터가 들어 있는 BigQuery의 테이블 정보와 미리보기입니다.



화면에서 지정한대로 필드 이름과 데이터 형식으로 스키마가 정의됩니다.
알파벳만으로 알 수 없도록 원래 열 이름은 설명에 넣습니다.



지정한 데이터 형식으로 모든 데이터를 가져올 수 있습니다.

이번 샘플 데이터로서 다음을 사용하고 있습니다.

  • 국토교통성 - 기상예보_날씨예보·태풍자료 -
    태풍 위치표의 CSV 데이터(2021년)

  • 파일의 인코딩에 utf-8 대응시키고 있지 않습니다.
    국토 교통성의 원래 파일은 sjis 이었기 때문에 문자가 깨져 버립니다.
    nkf 등을 사용하여 utf-8로 변환해야합니다.

    무엇을 사용하여 구현하는가?



    다음 게시물에서 내부 구현을 간략하게 설명하고 싶습니다.
    htps : // 이 m/야스다 킨/아니 ms/864320b55cbcd1cf7558

    좋은 웹페이지 즐겨찾기