LoginSignup
0
2

More than 5 years have passed since last update.

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

Posted at

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]

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2