데이터 저장 json 파일 처리 및 csv 파일 처리

6832 단어
json이란:
JSON(JavaScript Object Notation, JS 객체 태그)은 경량급 데이터 교환 형식이다.이것은 ECMAScript(w3c가 제정한 js규범)의 하위 집합을 바탕으로 프로그래밍 언어에 완전히 독립된 텍스트 형식으로 데이터를 저장하고 표시한다.간결하고 뚜렷한 차원 구조로 인해 JSON은 이상적인 데이터 교환 언어가 되었다.읽기 쉽고 쓰기 쉬우며 기계 해석과 생성도 쉬우며 네트워크 전송 효율을 효과적으로 향상시킨다.자세한 내용은 다음을 참조하십시오.https://baike.baidu.com/item/JSON/2462549?fr=aladdin
JSON은 데이터 형식을 지원합니다.
  • 대상(사전).중괄호를 사용합니다.
  • 수조 (목록).대괄호를 사용합니다.
  • 성형, 부점형, 볼 유형 그리고null 유형.
  • 문자열 유형(문자열은 큰따옴표를 사용해야 하며 작은따옴표를 사용할 수 없습니다.)

  • 여러 데이터 간에 쉼표를 사용하여 분리합니다.주의: json은 본질적으로 문자열입니다.
    사전과 목록을 JSON으로 이동하려면 다음과 같이 하십시오.
    import json
    
    books = [
        {
            'title': '        ',
            'price': 9.8
        },
        {
            'title': '   ',
            'price': 9.9
        }
    ]
    
    json_str = json.dumps(books,ensure_ascii=False)
    print(json_str)
    

       jsondump에서 ascii의 문자만 저장할 수 있기 때문에 중국어를 뜻을 바꿀 수 있습니다. 이때 우리는 ensure_ascii=False을 사용하여 이 기능을 닫을 수 있습니다.Python에서기본 데이터 형식만 JSON 형식의 문자열로 변환할 수 있습니다.즉, int, float, str, list, dict, tuple.
    파일에 json 데이터 직접 dump 보내기json 모듈에는 dumps 함수를 제외하고 dump 함수가 하나 더 있는데 이 함수는 파일 지침을 전달하여 문자열 dump을 파일에 직접 전달할 수 있다.예제 코드는 다음과 같습니다.
    books = [
        {
            'title': '        ',
            'price': 9.8
        },
        {
            'title': '   ',
            'price': 9.9
        }
    ]
    with open('a.json','w') as fp:
        json.dump(books,fp)
    

    json 문자열 load를 Python 객체로 만들려면 다음과 같이 하십시오.
    json_str = '[{"title": "        ", "price": 9.8}, {"title": "   ", "price": 9.9}]'
    books = json.loads(json_str,encoding='utf-8')
    print(type(books))
    print(books)
    

    파일에서 json을 직접 읽기:
    import json
    with open('a.json','r',encoding='utf-8') as fp:
        json_str = json.load(fp)
        print(json_str)
    

     
     
    csv 파일 처리
    csv 파일 처리 csv 파일 읽기:import csv
    with open('stock.csv','r') as fp:reader = csv.reader(fp) titles =next(reader) for x in reader:print(x) 이렇게 하면 나중에 데이터를 가져올 때 다음 표를 통해 데이터를 가져옵니다.데이터를 가져올 때 제목을 통해 가져오려면그러면 DictReader를 사용할 수 있습니다.예제 코드는 다음과 같습니다.
    csv 파일을 읽으려면 다음과 같이 하십시오.
    import csv
    
    with open('stock.csv','r') as fp:
        reader = csv.reader(fp)
        titles = next(reader)
        for x in reader:
            print(x)
    

    이렇게 하면 나중에 데이터를 얻을 때 다음 표를 통해 데이터를 얻을 수 있다.데이터를 가져올 때 제목을 통해 가져오려면그러면 DictReader를 사용할 수 있습니다.예제 코드는 다음과 같습니다.
    import csv
    
    with open('stock.csv','r') as fp:
        reader = csv.DictReader(fp)
        for x in reader:
            print(x['turnoverVol'])
    

    csv 파일에 데이터를 쓰기:
    csv 파일에 데이터를 쓰기 위해서는 writer 대상을 만들어야 합니다. 주로 두 가지 방법이 사용됩니다.하나는 writerow이고, 이것은 한 줄에 쓰는 것입니다.하나는 writerows, 이것은 여러 줄을 쓰는 것입니다.예제 코드는 다음과 같습니다.
    import csv
    
    headers = ['name','age','classroom']
    values = [
        ('zhiliao',18,'111'),
        ('wena',20,'222'),
        ('bbc',21,'111')
    ]
    with open('test.csv','w',newline='') as fp:
        writer = csv.writer(fp)
        writer.writerow(headers)
        writer.writerows(values)
    

    사전의 방식으로 데이터를 쓸 수도 있다.이럴 때는 DictWriter를 사용해야 한다.예제 코드는 다음과 같습니다.
    import csv
    
    headers = ['name','age','classroom']
    values = [
        {"name":'wenn',"age":20,"classroom":'222'},
        {"name":'abc',"age":30,"classroom":'333'}
    ]
    with open('test.csv','w',newline='') as fp:
        writer = csv.DictWriter(fp,headers)
        writer = csv.writeheader()
        writer.writerow({'name':'zhiliao',"age":18,"classroom":'111'})
        writer.writerows(values)
    

    필기
    import csv
    
    #         
    # def read_csv_demo():
    #     with open('', 'r') as fp:
    #         # reader      
    #         reader = csv.reader(fp)
    #         # next               
    #         next(reader)
    #         for x in reader:
    #             name = [3]
    #             other = [-1]
    #             print({'name': name, 'other': other})
    
    
    #         
    # def read_csv_demo2():
    #     with open('', 'r') as fp:
    #         #   DictReader   reader  
    #         #          
    #         reader = csv.DictReader(fp)
    #         for x in reader:
    #             value = {'name':x['name'],'other':x['other']}
    #             print(value)
    
    
    #       
    def read_csv_demo3():
        headers = ['username', 'age', 'height']
    
        values = [
            {'  ', '18', '156'},
            {'  ', '19', '184'},
            {'  ', '20', '168'}
        ]
    
        # newline          
        with open('classroom.csv', 'w', encoding='utf-8', newline='') as fp:
            writer = csv.writer(fp)
            #     
            writer.writerow(headers)
            #     
            writer.writerows(values)
    
    
    #         
    def read_csv_demo4():
        headers = ['username', 'age', 'height']
    
        values = [
            {'username':'  ', 'age':18, 'height':156},
            {'username':'  ', 'age':19, 'height':184},
            {'username':'  ', 'age':20, 'height':168}
        ]
        # newline          
        with open('classroom2.csv', 'w', encoding='utf-8', newline='') as fp:
            writer = csv.DictWriter(fp,headers)
            #          ,    writeheader  
            writer.writeheader()
            writer.writerows(values)
    
    
    if __name__ == '__main__':
        read_csv_demo4()
    

      

    좋은 웹페이지 즐겨찾기