PythonでExcelを加工(第0章)他サイトを参考にしながらのメモ書き
プログラミング自体初心者が、PythonでExcelを加工する手順です。
[前提]MacBook AirのTerminal、Microsoft 2016、日本政府観光局(JNTO)のHPから「since2003_tourists.xlsx」というExcelファイルをダウンロードして使用。
【手順】
準備
LaunchpadからTerminalを開き、そのまま以下を打ち込む(Pythonはまだ開始しない)。
pip install pandas
export LC_ALL=ja_JP.UTF-8 #毎回?
python #python開始
import pandas as pd #エラーが生じたら、【エラー対応】の「エラー2」へ
#ディレクトリを確認、変更
import os
os.getcwd()#ディレクトリを確認
os.chdir("/Users/user名 /Desktop/python")#Excelファイルを格納したフォルダにディレクトリを変更。※フォルダをTerminal上にドラッグすればpathが自動的に入力される。
#「filename」に呼び出したいファイル名を置き換える。
filename = ‘since2003_tourists.xlsx’
#xls book Open (xls, xlsxのどちらでも可能) ExcelfileオブジェクトとしてPythonから参照することができるようになる
input_book = pd.ExcelFile(filename)
#sheet_namesメソッドでExcelブック内の各シートの名前をリストで取得できる
input_sheet_name = input_book.sheet_names
#lenでシートの総数を確認
num_sheet = len(input_sheet_name)
#シートの数とシートの名前のリストの表示
print ("Sheet の数:", num_sheet)
print (input_sheet_name)
#DataFrameとして一つ目のsheetを読込む。参照したExcelfileオブジェクトから、それぞれのシートをデータフレームとして取得するには parse メソッドを使う。読み込むシートの指定は、そのシートの名前を引数に入力することで行う。これは先程シート名を格納したリスト input_sheet_name の0番目の要素を入力にすることでできる。
input_sheet_df = input_book.parse(input_sheet_name[0])
#読み込んだシート名の確認
print("Sheet name:", input_sheet_name[0])
#読み込んだシートの先頭10行を表示★なぜ2行目から10行抽出になる?
input_sheet_df.head(10)
#読み込んだシートの最後の5行を表示
input_sheet_df.tail(5)
【基本操作】
・python開始:python
・pythonから抜ける(exit):Ctrl + D
・現在のディレクトリ確認:
import os
os.getcwd()
os.chdir("C:\Users\ozspade\Documents\PythonScripts")
【エラー対応】
[Terminal]
-
ValueError: unknown locale: UTF-8
前確認:localeでja_JP.UTF-8が「LC_ALL=」に入っているか確認する。
対策 A: 環境変数をセットする
export LC_ALL=ja_JP.UTF-8
後確認1:python -c 'import locale; print(locale.getdefaultlocale());'
を入力してエラーが出なければOK
後確認2:または、localeで再度確認 -
-bash: import: command not found
前確認1:which pipでどこのpipを参照しているか確認する。→.pyenvを経由してて問題なし。
前確認2:pandasを(再)インストールする。
対策A: pip install pandas
→できるように!
[Python]