科学の箱

科学・IT・登山の話題

Python

StringIOを使ってread_csvのテストをしてみる

投稿日:

pandasで操作できるファイルは様々なあるが、csvはJSONと並んで取り扱うことが多いファイルである。ちょっとしたコードの検証をしたいときに毎回csvを用意して、read_csv()で読み込むのはかったるい。このような時StringIOを使うとすべてコード上で完結する。

 

このページの内容

  • StringIOの基本情報
  • StringIOとread_csv
  • パラメータを変えて読み込む

StringIO

StringIOはpythonで用意されている標準オブジェクトである。

class io.StringIO

引数

  • 第一引数: 文字列

戻り値

  • StringIO: このオブジェクトはread_csv()に対して入力として利用できる。

StringIOとread_csv

StringIOに文字列を与えると、ファイル入出力として使える。

from io import StringIO
import pandas as pd
data = ('name,company,city,tel\n'
       'Suzuki,CompanyA,Tokyo,090-123-456\n'
       'Yamada,CompanyB,Chiba,03-123-456\n'
       'Takahashi,CompanyC,Kanagawa,070-123-456')
df=pd.read_csv(StringIO(data))
print(df)
#        name   company      city          tel
0     Suzuki  CompanyA     Tokyo  090-123-456
1     Yamada  CompanyB     Chiba   03-123-456
2  Takahashi  CompanyC  Kanagawa  070-123-456

 

パラメータを変えて読み込む

いくつかパラメータを変えて読み込んでみる

まずはindex_colを指定して、indexを設定する。

df=pd.read_csv(StringIO(data), index_col="name")
print(df)

#             company      city          tel
name                                      
Suzuki     CompanyA     Tokyo  090-123-456
Yamada     CompanyB     Chiba   03-123-456
Takahashi  CompanyC  Kanagawa  070-123-456

 

usecolsを指定して、読み込む列を選ぶ。

df=pd.read_csv(StringIO(data), usecols=["name","city"])
print(df)

#         name      city
0     Suzuki     Tokyo
1     Yamada     Chiba
2  Takahashi  Kanagawa

 

メタ情報

inarticle



メタ情報

inarticle



-Python
-

執筆者:


comment

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

関連記事

no image

pyplotでx軸のラベルを90度回転させる

pyplotでx軸にラベルを記載するとラベル文字数が長すぎるためにお互いにオーバーラップしてみにくい。 このよう場合にはpyplot.xticksを実行する際にrotationを指定すればよい。 Ro …

no image

Pillowのインストールは成功しているのにエラーが出る

from . import _imaging as core ImportError: DLL load failed: The specified module could not be found …

no image

numpyで配列を抜き出す方法

numpyで配列を抜き出す まず基本となるやり方 arr = np.arange(50).reshape(5,10) arr[1:1,] arr[1:2,]   np.arange(50)で …

no image

model.coef_の確認

重回帰分析で重みを確認するには下記を利用する。 model.coef_ ただしこれだと有効桁数が分かりにくいので有効桁数を3桁にして、さらに指数を展開する。 np.set_printoptions(p …

no image

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

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

2019年9月
« 8月   10月 »
 1
2345678
9101112131415
16171819202122
23242526272829
30  

side bar top



アーカイブ

カテゴリー