12
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

PythonでMySQLやCSVからデータを取り込むメモ

Last updated at Posted at 2016-06-25

最低限のメモ

###環境

とりあえずpython2.7.x。

そもそも存在確認したりする方法はこちらをご覧ください。

##MySQL

###mysql-connector-pythonを利用

MySQLとのやりとりにどのモジュールを使うかは悩ましいですが、ひとまずmysql-connector-pythonを利用。

#coding:utf-8

import mysql.connector 

con = mysql.connector.connect(
		host='localhost',
		db='testdb',
		user='root',
		password='root'
	)

cur = con.cursor(buffered=True)

sql = "select * from members"

cur.execute(sql)

rows = cur.fetchall()

for row in rows:
	print row[1]

cur.close()
con.close()

##CSV

###csv(utf-8)

utf-8のカンマ区切りファイルとかならとくに悩むことはありません。

#coding:utf-8

import csv

file = "test.csv"

f = open(file,"r")

reader = csv.reader(f)

for row in reader:
	print row[0]

f.close()

###csv(sjisというかcp932)

Excelとかで作られたcsvが送られてきて「読め!」と言われることはよくあることです。
細かく対応するときりがないのですが、とりあえず、下記のようにすれば読めます。

#coding:utf-8

import csv

file = "test2.csv"

f = open(file,"r")

reader = csv.reader(f)

for row in reader:
	print row[0].decode('cp932')

f.close()

##素のファイル

訳あって素のファイルを処理しないと行けない場合もあります。

###普通にsplit

strip()で行末の改行を取り除いています。

#coding:utf-8

f = open('test.csv','r')

for row in f:
	item = row.strip().split(',')
	print item[0]

f.close()

###正規表現でsplit

正規表現を利用する場合はre.split(pattern,string)を使います。

#coding:utf-8

import re

f = open('test.csv','r')

for row in f:
	item = re.split(',',row)
	print item[0]

f.close()

##その他

後はPandas関連でしょうかね。随時追加したいと思います。

12
12
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
12
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?