Django - CSV !


CSV(カンマ区切り値)は、複数のフィールドをカンマ(,)で区切ったテキストデータとテキストファイルである。拡張子は。csv、MIMEタイプはtext/csvです。カンマ-分離変数とも呼ばれます。



CSVファイルの読み込み方法


ほとんどのプログラミング言語では、テキストファイルを読み込むことができます.特に、PythonにはCSVファイルを処理するためのモジュールがあり、ここでcsv.reader()またはcsv.DictReadader()メソッドを使用するのは簡単です.csvファイルを処理できます.

向CSV文件写入

  • import!
    # csv 저장용 임포트
    import csv
  • ファイルを開けろ!
    ith open('./csv/blog_lists.csv', mode='w') as blog_lists:
    with open(<파일명>, <모드 설정>) as 저장할 변수이름:これでコマンドが開始されます.これは、アクセスするファイルを開き、特定の変数に制御することを意味します.
  • <모드 설정><ジョヌスの発展ログ>プッシュ
    モードを作成する場合は、r(読み取り)、w(書き込み)、a(追加)のいずれかとt(テキスト)、b(バイナリ)の両方を結合する必要があります.残りのオプションは使用できます.mode : 파일이 열리는 모드「r」:読み取り用に開く(デフォルト)
    「w」:開いて書き込み、先にファイルを切り取ります.
    「x」:β作成のために開き、すでに存在する場合は失敗します.
    「a」:書き込みのために開き、ファイルの最後に追加すると追加されます.
    「b」:バイナリモード
    「t」:テキストモード(デフォルト)
    「+」:ディスクファイルを更新(読み取りと書き込み)するために開きます.
    「U」:汎用オープンモード(未使用)
    # csv.writer(blog_lists)는 CSV 작성기로 열어놓은 파일을 컨트롤하겠다는 의미고, .writerow()를 통해 한줄 한줄 데이터를 저장하기 시작합니다.
    
    blog_writer = csv.writer(blog_lists)
                blog_writer.writerow(["post_title", "posting_date","blog_url"])  # 필드명을 만들고 싶어서 추가
                
                for list in zip(post_title, posting_date, blog_url):
                    SearchList(
                        post_title=list[0].text,
                        posting_date=list[1].text,
                        blog_url=list[2].text,
                    ).save()
    
                    blog_writer.writerow([list[0].text, list[1].text, list[2].text])
    
            return HttpResponse(status=200)
  • CSVファイルを読み込みます!
  • # 모드를 w에서 r 읽기 모드로 바꾸면 됩니다. 그리고 writer에서 reader로 바꿔서 파일을 읽어주면 됩니다.
      def get(self, request):
            result = []
    
            with open('./csv/blog_lists.csv', mode='r') as blog_lists:
                reader = csv.reader(blog_lists)
    
                for list in reader:
                    result.append(list)
    
            return JsonResponse({'search list' : result}, status=200)