科学の箱

科学・IT・登山の話題

Python

automated the boring – day7

投稿日:2018年2月27日 更新日:

https://automatetheboringstuff.com/chapter14/

14章ではcsvとJSONを取り扱う。フォーマットとしては単純であるのに、なぜexcel,word, pdfの後にこれらのデータ形式を取り扱うのか。

csvおよびJSONはデータが構造化されているためにlistと繰り返し処理を利用して、要素データを処理していく。そのために要素に対して細かい処理が可能である反面、コードは少し複雑になる。そのためにアプリケーションファイルの次に章が用意されているとい考えられる。ではどれほど複雑かといえば案外それほどでもないだろう。いっかいパターンを押さえれば、いろいろな場面で取り扱える。

CSVとJSONは特定のアプリケーションに結びつかないために応用範囲が広い。アプリケーションに紐づいたファイル形式よりもきっちり学んでおいたほうが良いといえる。

まずはCSVの処理を見てみる。一つ目の例は単純にcsvを読み込み表示するだけである。

<blockquote>>> import csv
>>> csvf = open('example.csv')
>>> csvf_r = csv.reader(csvf)
>>> csvf_d = list(csvf_r)
>>> csvf_d
[['4/5/2014 13:34', 'Apples', '73'], ['4/5/2014 3:41', 'Cherries', '85'], ['4/6/2014 1
'], ['4/10/2014 2:07', 'Apples', '152'], ['4/10/2014 18:10', 'Bananas', '23'], ['4/10/</blockquote>

 

この処理はcsvの内容をブロックで表示しているだけであるから、せっかく構造化されているデータがまったく役に立っていない。

次の例ではループを利用して行ごとに表示をする。

<blockquote>>> csvf = open('example.csv')
>>> csvf_r = csv.reader(csvf)
>>> for row in csvf_r:
... print('Row #' + str(csvf_r.line_num) + ' ' + str(row))
...
Row #1 ['4/5/2014 13:34', 'Apples', '73']
Row #2 ['4/5/2014 3:41', 'Cherries', '85']
Row #3 ['4/6/2014 12:46', 'Pears', '14']
Row #4 ['4/8/2014 8:59', 'Oranges', '52']
Row #5 ['4/10/2014 2:07', 'Apples', '152']
Row #6 ['4/10/2014 18:10', 'Bananas', '23']
Row #7 ['4/10/2014 2:40', 'Strawberries', '98']</blockquote>

メタ情報

inarticle



メタ情報

inarticle



-Python
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

Pythonで文字列を生成するときの方法についてまとめる

Pythonで文字列を生成するときには様々な方法があるのでまとめる。 まず最も基本となるのは生成したい文字をシングルクォーテーションもしくはダブルクォーテーションで囲む方法である。どちらの方法を使って …

no image

pipインストールでエラーが出る場合

pipインストールでエラーが出る場合 Collecting tensorflow WARNING: Retrying (Retry(total=4, connect=None, read=None, …

no image

Hello Worldを実行

環境設定を完了したらまずはお約束のHello Worldからである。 変数helloに文字列”Hello Python!”を代入する。Pythonにおいては型の指定は最初のうち …

no image

RoboBrowserで提供しているメソッドget_linksにおけるパラメータの指定方法

get_linksは便利だが文字列を指定する際に少々手間取った。 結論から言うと文字列で指定する方法とre.compileオブジェクトを指定する方法の2つがある。 まず一つ目は単純な文字列。exact …

no image

Scrapy – Tutorial

Tutorialはこちら https://doc.scrapy.org/en/latest/intro/tutorial.html 特に難しい点はないがいくつかポイント spidersディレクトリはプ …

2018年2月
« 1月   3月 »
 1234
567891011
12131415161718
19202122232425
262728  

side bar top



アーカイブ

カテゴリー