0. 탭 구분자를 tabulator로 표시하는 파일
15859 단어 Python3JavaScriptTabulator
Javascript를 사용하여 테이블을 만드는 Tabulator 도구
브라우저에 격자 표시tabulator를 하는 게 좋을 것 같아서 한번 활용해 볼게요.
json 형식의 데이터를 읽고 표시하고 싶습니다
테이블의 원본 데이터로 RefSeqLRG_RefSeqGene 사용
탭 구분자 데이터에서 json으로 변환
tabulator로 json 형식의 데이터를 읽기 때문에 LRGRefSeqGene을 json으로 변환해야 합니다.
마땅한 물건을 찾지 못해서python으로 처리합니다
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from __future__ import print_function
import json
import csv
__author__ = 'percipere'
__date__ = '2017/12/13'
__date_of_last_modification__ = ''
# Read data file and create JSON object
def convert_csv_to_json(filename='./LRG_RefSeqGene', delimiter='\t', maximum_lines=100, out_file="./output.json"):
"""
Read csv file and convert it to json file.
The first line of the csv should be delimiter separated column names.
:param filename: file name of the CSV
:param delimiter:
:param maximum_lines: 0 means all lines
"""
data_list = []
with open(filename, 'r') as file_handle:
reader = csv.DictReader(file_handle, delimiter=delimiter)
reader.fieldnames[0] = reader.fieldnames[0][1:] if reader.fieldnames[0].startswith('#') else reader.fieldnames[
0]
for row_id, row in enumerate(reader, start=1):
row.update({"id": row_id})
data_list.append(row)
if maximum_lines and row_id >= maximum_lines:
break
with open(out_file, 'w') as write_handle:
json.dump(data_list, write_handle)
if __name__ == "__main__":
convert_csv_to_json()
data_list에 id의 dictionary를 추가했습니다. 마지막으로 json입니다.dump로 시작하기$ python3 ./create_json.py
입력 파일의 처음 4 행LRG_RefSeqGene
#tax_id GeneID Symbol RSG LRG RNA t Protein p Category
9606 29974 A1CF NG_029916.1 NM_001198819.1 NP_001185748.1 reference standard
9606 29974 A1CF NG_029916.1 NM_014576.3 NP_055391.2 aligned: Selected
9606 29974 A1CF NG_029916.1 NM_138932.2 NP_620310.1 aligned: Selected
9606 29974 A1CF NG_029916.1 NM_138933.2 NP_620311.1 aligned: Selected
출력 파일의 처음 4개의 항목을 신중하게 보기 위해 줄 끝에 추가하십시오]output.json
[{"tax_id": "9606", "GeneID": "29974", "Symbol": "A1CF", "RSG": "NG_029916.1", "LRG": "", "RNA": "NM_001198819.1", "t": "", "Protein": "NP_001185748.1", "p": "", "Category": "reference standard", "id": 1}, {"tax_id": "9606", "GeneID": "29974", "Symbol": "A1CF", "RSG": "NG_029916.1", "LRG": "", "RNA": "NM_014576.3", "t": "", "Protein": "NP_055391.2", "p": "", "Category": "aligned: Selected", "id": 2}, {"tax_id": "9606", "GeneID": "29974", "Symbol": "A1CF", "RSG": "NG_029916.1", "LRG": "", "RNA": "NM_138932.2", "t": "", "Protein": "NP_620310.1", "p": "", "Category": "aligned: Selected", "id": 3}, {"tax_id": "9606", "GeneID": "29974", "Symbol": "A1CF", "RSG": "NG_029916.1", "LRG": "", "RNA": "NM_138933.2", "t": "", "Protein": "NP_620311.1", "p": "", "Category": "aligned: Selected", "id": 4},]
이렇게 하면 원시 데이터를 만들 수 있다이번엔 여기까지
Reference
이 문제에 관하여(0. 탭 구분자를 tabulator로 표시하는 파일), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/percipere/items/a9502af51a17eab86326텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)