[Python/Matplotlib]データ可視化ベース-1.Pythonから外部ファイルを読み込む(txt/csv)


このシリーズのすべての実践コードは、Jupyter Notebook(Anaconda 3)環境で実行されます.Pythonからファイルを読み込む
  • Pythonはopen()関数を使用してファイルI/Oを管理します.
    まず、例を使用してopen()の使い方を理解します.
  • txtファイルの読み込み
    === 'test.txt"のファイル内容==
    こんにちは!(\n)
    今日はPythonを勉強します(\n)
    一生懸命勉強しましょう.(\n)
    read()の使用
    f = open('test.txt', 'r', encoding='utf-8')
    
    data = f.read()
    print(data)
    
    f.close()
    
    # === 실행 결과 ===
    # 안녕하세요.
    # 오늘은 파이썬 공부를 합니다.
    # 열공합시다!
    readline()の使用
    f = open('test.txt', 'r', encoding='utf-8')
    
    data = f.readline()
    print(data)
    
    f.close()
    
    # === 실행 결과 ===
    # 안녕하세요.
    # 
    readlines()の使用
    f = open('test.txt', 'r', encoding='utf-8')
    
    data = f.readlines()
    print(data)
    
    f.close()
    
    # === 실행 결과 ===
    # ['안녕하세요\n', '오늘은 파이썬 공부를 합니다.\n', '열공합시다!\n']

  • Open(「test.txt」,「r」,encoding=「utf-8」)の意味:
    test.txtファイルはr(読み出し)モードでロードされるが、符号化はutf-8方式でロードされる.

  • Open()メソッドのファイルオープンモード:
    r-read,読み出しモード
    w-write、writeモード(すべてのコンテンツが削除され、リフレッシュされ、上書きに相当します.)
    a-append、追加モード(既存のコンテンツに追加し、後続の書き込みに使用します).

  • ロードされたファイルを含む変数fを使用して、ファイルの内容をインポートできます.
    read()-フルリード
    readline()-1行の内容を読み出し、同時に開行文字を読み出します.
    例ではprint()のオープンラインを2回繰り返します.
    readline()-ファイルの内容を含む1行1行の要素リストを返します.

  • Open()でインポートしたファイルはclose()が望ましい.
  • 各メソッドの完全な取得方法
    # read()는 그 자체로 전체를 읽어오는 메소드이므로 생략함
    
    # readline() 활용
    f = open('test.txt', 'r', encoding='utf-8')
    while True:
        data = f.readline()
        if data=="": break
        else: print(data, end="")    # print()의 자동 줄 바꿈 방지
    f.close()
    
    # readlines() 활용
    f = open('test.txt', 'r', encoding='utf-8')
    data = f.readlines()
    for row in data:
        print(row, end="")    # print()의 자동 줄 바꿈 방지
    f.close()
    csvファイルの読み込み
    csvモジュールの使用
    import csv
    
    f = open('seoul.csv', 'r', encoding='cp949')
    # seoul.csv 파일을 r(읽기) 모드로 불러오되,
    # 인코딩은 cp949(Windows 한글 인코딩 default 방식) 방식으로 불러들인다.
    
    data = csv.reader(f, delimiter=',')
    # csv 파일을 담고 있는 변수 f를 reader()함수에 넣어 data라는 csv reader 객체 생성
    # csv 파일의 데이터를 기호 ,를 기준으로 분리하여 읽어온다.
    
    for row in data:
    	print(row)
    f.close()
  • 運転結果
    (以下省略)
  • リファレンス

  • 区切り記号=「,」を指定しなくてもreader()のデフォルトの区切り記号は記号として指定されるので、上記の実行結果と同じ結果が得られます.

  • 元のファイルの区切り記号の設定値と異なる記号を区切り記号として指定すると、次のような結果が得られます.
    [‘日付,地点,平均気温(℃),最低気温(℃),最高気温(℃)’](以下省略)