Mac
Excel
初心者
pandas
Python3.5

MacBook Air プログラミング初心者 PythonでExcelを加工する

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]
1. 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で再度確認

  1. -bash: import: command not found 前確認1:which pipでどこのpipを参照しているか確認する。→.pyenvを経由してて問題なし。 前確認2:pandasを(再)インストールする。 対策A: pip install pandas →できるように!

[Python]