python多种格式数据加载、处理与存储

时间:2021-11-08 07:55:50

多种格式数据加载、处理与存储

实际的场景中,我们会在不同的地方遇到各种不同的数据格式(比如大家熟悉的csv与txt,比如网页HTML格式,比如XML格式),我们来一起看看python如何和这些格式的数据打交道。

2016-08

from __future__ import division
from numpy.random import randn
import numpy as np
import os
import sys
import matplotlib.pyplot as plt
np.random.seed(12345)
plt.rc('figure', figsize=(10, 6))
from pandas import Series, DataFrame
import pandas as pd
np.set_printoptions(precision=4)
%pwd
u'/Users/zzy/GitHub/jupter-project/lesson_4_ipython_notebooks/different_data_formats'

1.各式各样的文本数据

1.1 CSV与TXT读取

!cat data1.csv
a,b,c,d,message
1,2,3,4,hello
5,6,7,8,world
9,10,11,12,foo
df = pd.read_csv('data1.csv')
df
a b c d message
0 1 2 3 4 hello
1 5 6 7 8 world
2 9 10 11 12 foo
pd.read_table('data1.csv', sep=',')
a b c d message
0 1 2 3 4 hello
1 5 6 7 8 world
2 9 10 11 12 foo
!cat data2.csv
1,2,3,4,hello
5,6,7,8,world
9,10,11,12,foo
pd.read_csv('data2.csv', header=None)
0 1 2 3 4
0 1 2 3 4 hello
1 5 6 7 8 world
2 9 10 11 12 foo
pd.read_csv('data2.csv', names=['a', 'b', 'c', 'd', 'message'])
a b c d message
0 1 2 3 4 hello
1 5 6 7 8 world
2 9 10 11 12 foo
names = ['a', 'b', 'c', 'd', 'message']
pd.read_csv('data2.csv', names=names, index_col='message')
a b c d
message
hello 1 2 3 4
world 5 6 7 8
foo 9 10 11 12
!cat csv_mindex.csv
parsed = pd.read_csv('csv_mindex.csv', index_col=['key1', 'key2'])
parsed
key1,key2,value1,value2
one,a,1,2
one,b,3,4
one,c,5,6
one,d,7,8
two,a,9,10
two,b,11,12
two,c,13,14
two,d,15,16
value1 value2
key1 key2
one a 1 2
b 3 4
c 5 6
d 7 8
two a 9 10
b 11 12
c 13 14
d 15 16
list(open('data3.txt'))
['            A         B         C\n',
'aaa -0.264438 -1.026059 -0.619500\n',
'bbb 0.927272 0.302904 -0.032399\n',
'ccc -0.264273 -0.386314 -0.217601\n',
'ddd -0.871858 -0.348382 1.100491\n']
result = pd.read_table('data3.txt', sep='\s+')
result
A B C
aaa -0.264438 -1.026059 -0.619500
bbb 0.927272 0.302904 -0.032399
ccc -0.264273 -0.386314 -0.217601
ddd -0.871858 -0.348382 1.100491
!cat data4.csv
pd.read_csv('data4.csv', skiprows=[0, 2, 3])
# hey!
a,b,c,d,message
# just wanted to make things more difficult for you
# who reads CSV files with computers, anyway?
1,2,3,4,hello
5,6,7,8,world
9,10,11,12,foo
a b c d message
0 1 2 3 4 hello
1 5 6 7 8 world
2 9 10 11 12 foo
!cat data5.csv
result = pd.read_csv('data5.csv')
result
pd.isnull(result)
something,a,b,c,d,message
one,1,2,3,4,NA
two,5,6,,8,world
three,9,10,11,12,foo
something a b c d message
0 False False False False False True
1 False False False True False False
2 False False False False False False
result = pd.read_csv('data5.csv', na_values=['NULL'])
result
something a b c d message
0 one 1 2 3.0 4 NaN
1 two 5 6 NaN 8 world
2 three 9 10 11.0 12 foo
sentinels = {'message': ['foo', 'NA'], 'something': ['two']}
pd.read_csv('data5.csv', na_values=sentinels)
something a b c d message
0 one 1 2 3.0 4 NaN
1 NaN 5 6 NaN 8 world
2 three 9 10 11.0 12 NaN

1.2 分片/块读取文本数据

result = pd.read_csv('data6.csv')
result
one two three four key
0 0.467976 -0.038649 -0.295344 -1.824726 L
1 -0.358893 1.404453 0.704965 -0.200638 B
2 -0.501840 0.659254 -0.421691 -0.057688 G
3 0.204886 1.074134 1.388361 -0.982404 R
4 0.354628 -0.133116 0.283763 -0.837063 Q
5 1.817480 0.742273 0.419395 -2.251035 Q
6 -0.776764 0.935518 -0.332872 -1.875641 U
7 -0.913135 1.530624 -0.572657 0.477252 K
8 0.358480 -0.497572 -0.367016 0.507702 S
9 -1.740877 -1.160417 -1.637830 2.172201 G
10 0.240564 -0.328249 1.252155 1.072796 8
11 0.764018 1.165476 -0.639544 1.495258 R
12 0.571035 -0.310537 0.582437 -0.298765 1
13 2.317658 0.430710 -1.334216 0.199679 P
14 1.547771 -1.119753 -2.277634 0.329586 J
15 -1.310608 0.401719 -1.000987 1.156708 E
16 -0.088496 0.634712 0.153324 0.415335 B
17 -0.018663 -0.247487 -1.446522 0.750938 A
18 -0.070127 -1.579097 0.120892 0.671432 F
19 -0.194678 -0.492039 2.359605 0.319810 H
20 -0.248618 0.868707 -0.492226 -0.717959 W
21 -1.091549 -0.867110 -0.647760 -0.832562 C
22 0.641404 -0.138822 -0.621963 -0.284839 C
23 1.216408 0.992687 0.165162 -0.069619 V
24 -0.564474 0.792832 0.747053 0.571675 I
25 1.759879 -0.515666 -0.230481 1.362317 S
26 0.126266 0.309281 0.382820 -0.239199 L
27 1.334360 -0.100152 -0.840731 -0.643967 6
28 -0.737620 0.278087 -0.053235 -0.950972 J
29 -1.148486 -0.986292 -0.144963 0.124362 Y
... ... ... ... ... ...
9970 0.633495 -0.186524 0.927627 0.143164 4
9971 0.308636 -0.112857 0.762842 -1.072977 1
9972 -1.627051 -0.978151 0.154745 -1.229037 Z
9973 0.314847 0.097989 0.199608 0.955193 P
9974 1.666907 0.992005 0.496128 -0.686391 S
9975 0.010603 0.708540 -1.258711 0.226541 K
9976 0.118693 -0.714455 -0.501342 -0.254764 K
9977 0.302616 -2.011527 -0.628085 0.768827 H
9978 -0.098572 1.769086 -0.215027 -0.053076 A
9979 -0.019058 1.964994 0.738538 -0.883776 F
9980 -0.595349 0.001781 -1.423355 -1.458477 M
9981 1.392170 -1.396560 -1.425306 -0.847535 H
9982 -0.896029 -0.152287 1.924483 0.365184 6
9983 -2.274642 -0.901874 1.500352 0.996541 N
9984 -0.301898 1.019906 1.102160 2.624526 I
9985 -2.548389 -0.585374 1.496201 -0.718815 D
9986 -0.064588 0.759292 -1.568415 -0.420933 E
9987 -0.143365 -1.111760 -1.815581 0.435274 2
9988 -0.070412 -1.055921 0.338017 -0.440763 X
9989 0.649148 0.994273 -1.384227 0.485120 Q
9990 -0.370769 0.404356 -1.051628 -1.050899 8
9991 -0.409980 0.155627 -0.818990 1.277350 W
9992 0.301214 -1.111203 0.668258 0.671922 A
9993 1.821117 0.416445 0.173874 0.505118 X
9994 0.068804 1.322759 0.802346 0.223618 H
9995 2.311896 -0.417070 -1.409599 -0.515821 L
9996 -0.479893 -0.650419 0.745152 -0.646038 E
9997 0.523331 0.787112 0.486066 1.093156 K
9998 -0.362559 0.598894 -1.843201 0.887292 G
9999 -0.096376 -1.012999 -0.657431 -0.573315 0

10000 rows × 5 columns

pd.read_csv('data6.csv', nrows=5)
one two three four key
0 0.467976 -0.038649 -0.295344 -1.824726 L
1 -0.358893 1.404453 0.704965 -0.200638 B
2 -0.501840 0.659254 -0.421691 -0.057688 G
3 0.204886 1.074134 1.388361 -0.982404 R
4 0.354628 -0.133116 0.283763 -0.837063 Q
chunker = pd.read_csv('data6.csv', chunksize=100)
chunker
<pandas.io.parsers.TextFileReader at 0x10d3b5950>
chunker = pd.read_csv('data6.csv', chunksize=100)

tot = Series([])
for piece in chunker:
tot = tot.add(piece['key'].value_counts(), fill_value=0) tot = tot.order(ascending=False)
/Library/Python/2.7/site-packages/ipykernel/__main__.py:7: FutureWarning: order is deprecated, use sort_values(...)
tot[:10]
E    368.0
X 364.0
L 346.0
O 343.0
Q 340.0
M 338.0
J 337.0
F 335.0
K 334.0
H 330.0
dtype: float64

1.3 把数据写入文本格式

data = pd.read_csv('data5.csv')
data
something a b c d message
0 one 1 2 3.0 4 NaN
1 two 5 6 NaN 8 world
2 three 9 10 11.0 12 foo
data.to_csv('out.csv')
!cat out.csv
,something,a,b,c,d,message
0,one,1,2,3.0,4,
1,two,5,6,,8,world
2,three,9,10,11.0,12,foo
data.to_csv(sys.stdout, sep='|')
|something|a|b|c|d|message
0|one|1|2|3.0|4|
1|two|5|6||8|world
2|three|9|10|11.0|12|foo
data.to_csv(sys.stdout, na_rep='NULL')
,something,a,b,c,d,message
0,one,1,2,3.0,4,NULL
1,two,5,6,NULL,8,world
2,three,9,10,11.0,12,foo
data.to_csv(sys.stdout, index=False, header=False)
one,1,2,3.0,4,
two,5,6,,8,world
three,9,10,11.0,12,foo
data.to_csv(sys.stdout, index=False, columns=['a', 'b', 'c'])
a,b,c
1,2,3.0
5,6,
9,10,11.0
dates = pd.date_range('1/1/2000', periods=7)
ts = Series(np.arange(7), index=dates)
ts.to_csv('tseries.csv')
!cat tseries.csv
2000-01-01,0
2000-01-02,1
2000-01-03,2
2000-01-04,3
2000-01-05,4
2000-01-06,5
2000-01-07,6
Series.from_csv('tseries.csv', parse_dates=True)
2000-01-01    0
2000-01-02 1
2000-01-03 2
2000-01-04 3
2000-01-05 4
2000-01-06 5
2000-01-07 6
dtype: int64

1.4 手动读写数据(按要求)

!cat data7.csv
"a","b","c"
"1","2","3"
"1","2","3","4"
import csv
f = open('data7.csv') reader = csv.reader(f)
for line in reader:
print(line)
['a', 'b', 'c']
['1', '2', '3']
['1', '2', '3', '4']
lines = list(csv.reader(open('data7.csv')))
header, values = lines[0], lines[1:]
data_dict = {h: v for h, v in zip(header, zip(*values))}
data_dict
{'a': ('1', '1'), 'b': ('2', '2'), 'c': ('3', '3')}
class my_dialect(csv.Dialect):
lineterminator = '\n'
delimiter = ';'
quotechar = '"'
quoting = csv.QUOTE_MINIMAL
with open('mydata.csv', 'w') as f:
writer = csv.writer(f, dialect=my_dialect)
writer.writerow(('one', 'two', 'three'))
writer.writerow(('1', '2', '3'))
writer.writerow(('4', '5', '6'))
writer.writerow(('7', '8', '9'))
%cat mydata.csv
one;two;three
1;2;3
4;5;6
7;8;9

1.5 JSON格式的数据

obj = \
"""
{"姓名": "张三",
"住处": ["天朝", "挖煤国", "万恶的资本主义日不落帝国"],
"宠物": null,
"兄弟": [{"姓名": "李四", "年龄": 25, "宠物": "汪星人"},
{"姓名": "王五", "年龄": 23, "宠物": "喵星人"}]
}
"""
import json
result = json.loads(obj)
result
{u'\u4f4f\u5904': [u'\u5929\u671d',
u'\u6316\u7164\u56fd',
u'\u4e07\u6076\u7684\u8d44\u672c\u4e3b\u4e49\u65e5\u4e0d\u843d\u5e1d\u56fd'],
u'\u5144\u5f1f': [{u'\u59d3\u540d': u'\u674e\u56db',
u'\u5ba0\u7269': u'\u6c6a\u661f\u4eba',
u'\u5e74\u9f84': 25},
{u'\u59d3\u540d': u'\u738b\u4e94',
u'\u5ba0\u7269': u'\u55b5\u661f\u4eba',
u'\u5e74\u9f84': 23}],
u'\u59d3\u540d': u'\u5f20\u4e09',
u'\u5ba0\u7269': None}
print json.dumps(result, encoding="UTF-8", ensure_ascii=False)
{"兄弟": [{"年龄": 25, "宠物": "汪星人", "姓名": "李四"}, {"年龄": 23, "宠物": "喵星人", "姓名": "王五"}], "住处": ["天朝", "挖煤国", "万恶的资本主义日不落帝国"], "宠物": null, "姓名": "张三"}
result[u"兄弟"][0]
{u'\u59d3\u540d': u'\u674e\u56db',
u'\u5ba0\u7269': u'\u6c6a\u661f\u4eba',
u'\u5e74\u9f84': 25}
print json.dumps(result[u"兄弟"][0], encoding="UTF-8", ensure_ascii=False)
{"年龄": 25, "宠物": "汪星人", "姓名": "李四"}
asjson = json.dumps(result)
brothers = DataFrame(result[u'兄弟'], columns=[u'姓名', u'年龄'])
brothers
姓名 年龄
0 李四 25
1 王五 23

1.6 人人都爱爬虫,人人都要解析XML 和 HTML

from lxml.html import parse
from urllib2 import urlopen parsed = parse(urlopen('https://ask.julyedu.com/')) doc = parsed.getroot()


doc
<Element html at 0x1092ed100>
links = doc.findall('.//a')
links[15:20]
[<Element a at 0x1091afcb0>,
<Element a at 0x1091afd08>,
<Element a at 0x1091afd60>,
<Element a at 0x1091afdb8>,
<Element a at 0x1091afe10>]
lnk = links[14]
lnk
lnk.get('href')
print lnk.text_content()
全部问题
urls = [lnk.get('href') for lnk in doc.findall('.//a')]
urls[-10:]
['https://ask.julyedu.com/people/July',
'https://ask.julyedu.com/people/July',
'http://weibo.com/askjulyedu',
None,
'https://www.julyedu.com/help/index/about',
'https://www.julyedu.com/help/index/contact',
'https://www.julyedu.com/help/index/join',
'http://ask.julyedu.com/question/55',
'http://www.julyapp.com',
'http://www.miitbeian.gov.cn/']
spans = doc.findall('.//span')
len(spans)
137
def _unpack(spans):
return [val.text_content() for val in spans]
contents = _unpack(spans)
for content in contents:
print content
 通知设置
贡献
回复了问题 • 2 人关注 • 1 个回复 • 22 次浏览 • 2 小时前
• 来自相关主题
发起了问题 • 2 人关注 • 0 个回复 • 21 次浏览 • 22 小时前 • 来自相关主题
发起了问题 • 1 人关注 • 0 个回复 • 17 次浏览 • 1 天前 • 来自相关主题
贡献
回复了问题 • 3 人关注 • 1 个回复 • 38 次浏览 • 1 天前
• 来自相关主题
发起了问题 • 1 人关注 • 0 个回复 • 35 次浏览 • 1 天前 • 来自相关主题
发起了问题 • 1 人关注 • 0 个回复 • 29 次浏览 • 2 天前 • 来自相关主题
发起了问题 • 1 人关注 • 0 个回复 • 31 次浏览 • 2 天前 • 来自相关主题
贡献
回复了问题 • 37 人关注 • 36 个回复 • 484 次浏览 • 1 天前
• 来自相关主题
贡献
回复了问题 • 12 人关注 • 17 个回复 • 795 次浏览 • 2 天前
• 来自相关主题
贡献
回复了问题 • 4 人关注 • 4 个回复 • 197 次浏览 • 3 天前
• 来自相关主题
贡献
回复了问题 • 2 人关注 • 1 个回复 • 44 次浏览 • 3 天前
• 来自相关主题
贡献
回复了问题 • 2 人关注 • 1 个回复 • 34 次浏览 • 3 天前
• 来自相关主题
贡献
回复了问题 • 2 人关注 • 1 个回复 • 37 次浏览 • 3 天前
• 来自相关主题
贡献
回复了问题 • 2 人关注 • 1 个回复 • 102 次浏览 • 3 天前
• 来自相关主题
贡献
回复了问题 • 2 人关注 • 1 个回复 • 39 次浏览 • 4 天前
• 来自相关主题
发起了问题 • 1 人关注 • 0 个回复 • 26 次浏览 • 4 天前 • 来自相关主题
贡献
回复了问题 • 3 人关注 • 2 个回复 • 126 次浏览 • 4 天前
• 来自相关主题
发表了文章 • 1 个评论 • 764 次浏览 • 4 天前
• 来自相关主题
发起了问题 • 1 人关注 • 0 个回复 • 49 次浏览 • 5 天前 • 来自相关主题
发起了问题 • 1 人关注 • 0 个回复 • 35 次浏览 • 5 天前 • 来自相关主题
发起了问题 • 1 人关注 • 0 个回复 • 59 次浏览 • 6 天前 • 来自相关主题
发起了问题 • 1 人关注 • 0 个回复 • 42 次浏览 • 6 天前 • 来自相关主题
贡献
回复了问题 • 2 人关注 • 1 个回复 • 55 次浏览 • 6 天前
• 来自相关主题
贡献
回复了问题 • 2 人关注 • 1 个回复 • 44 次浏览 • 6 天前
• 来自相关主题
发起了问题 • 1 人关注 • 0 个回复 • 42 次浏览 • 2016-08-28 16:12 • 来自相关主题
发起了问题 • 1 人关注 • 0 个回复 • 42 次浏览 • 2016-08-28 15:47 • 来自相关主题
贡献
回复了问题 • 4 人关注 • 1 个回复 • 530 次浏览 • 2016-08-28 14:48
• 来自相关主题
贡献
回复了问题 • 2 人关注 • 3 个回复 • 911 次浏览 • 2016-08-27 19:18
• 来自相关主题
贡献
回复了问题 • 39 人关注 • 82 个回复 • 3670 次浏览 • 2016-08-27 11:59
• 来自相关主题
贡献
回复了问题 • 4 人关注 • 6 个回复 • 639 次浏览 • 2016-08-28 14:32
• 来自相关主题
发起了问题 • 1 人关注 • 0 个回复 • 77 次浏览 • 2016-08-25 14:13 • 来自相关主题
贡献
回复了问题 • 2 人关注 • 1 个回复 • 274 次浏览 • 2016-08-25 10:37
• 来自相关主题
回复了问题 • 1 人关注 • 1 个回复 • 48 次浏览 • 2016-08-24 17:20
• 来自相关主题
贡献
回复了问题 • 11 人关注 • 14 个回复 • 1052 次浏览 • 2016-08-24 10:01
• 来自相关主题
发起了问题 • 2 人关注 • 0 个回复 • 76 次浏览 • 2016-08-23 15:16 • 来自相关主题
贡献
回复了问题 • 2 人关注 • 1 个回复 • 62 次浏览 • 2016-08-22 21:51
• 来自相关主题
贡献
回复了问题 • 2 人关注 • 2 个回复 • 584 次浏览 • 2016-08-22 12:26
• 来自相关主题
回复了问题 • 1 人关注 • 1 个回复 • 78 次浏览 • 2016-08-21 18:57
• 来自相关主题
贡献
回复了问题 • 2 人关注 • 1 个回复 • 62 次浏览 • 2016-08-21 18:25
• 来自相关主题
贡献
回复了问题 • 2 人关注 • 1 个回复 • 105 次浏览 • 2016-08-21 15:17
• 来自相关主题
贡献
回复了问题 • 3 人关注 • 2 个回复 • 749 次浏览 • 2016-08-21 11:16
• 来自相关主题
贡献
回复了问题 • 5 人关注 • 4 个回复 • 434 次浏览 • 2016-08-19 16:07
• 来自相关主题
贡献
回复了问题 • 2 人关注 • 1 个回复 • 69 次浏览 • 2016-08-19 15:55
• 来自相关主题
回复了问题 • 1 人关注 • 1 个回复 • 108 次浏览 • 2016-08-19 14:48
• 来自相关主题
回复了问题 • 2 人关注 • 1 个回复 • 168 次浏览 • 2016-08-19 14:54
• 来自相关主题
发起了问题 • 1 人关注 • 0 个回复 • 79 次浏览 • 2016-08-19 10:59 • 来自相关主题
发起了问题 • 1 人关注 • 0 个回复 • 96 次浏览 • 2016-08-18 19:04 • 来自相关主题
贡献
回复了问题 • 9 人关注 • 5 个回复 • 864 次浏览 • 2016-08-18 18:41
• 来自相关主题
贡献
回复了问题 • 3 人关注 • 1 个回复 • 1005 次浏览 • 2016-08-18 14:01
• 来自相关主题
贡献
回复了问题 • 7 人关注 • 12 个回复 • 619 次浏览 • 2016-08-18 12:05
• 来自相关主题 python leetcode 返回顶部 var cnzz_protocol = (("https:" == document.location.protocol) ? " https://" : " http://");document.write(unescape("%3Cspan id='cnzz_stat_icon_1259748782'%3E%3C/span%3E%3Cscript src='" + cnzz_protocol + "s11.cnzz.com/z_stat.php%3Fid%3D1259748782%26show%3Dpic' type='text/javascript'%3E%3C/script%3E"));
questions = doc.findall('.//h4')
len(questions)
50
contents = _unpack(questions)
for content in contents:
print content
						@寒老师,CTR课程中的LR-MLlib的代码哪里下载?

						逻辑回归如何做特征选择?

						opencv在vs2015配置失败,有朋友能给一些可用的教程吗

						数据集具有倾斜性或呈长尾分布问题

						端到端深度学习在自动驾驶汽车上的应用

						CV班:转发微博狂送100元上课券,所有人 人人都有份

						关于word2vec的一些资料

						python数据分析班作业1

						第8类新班:《计算机视觉班》大纲讨论稿

						有奖竞答第二题(IBM ponder this 专题):国王、硬币与电子秤的故事

						一个数学问题

						关于推荐系统基于内容的推荐中使用TF-IDF建模词对资料重要度问题

						python数据分析班-安装igraph后运行报错

						anaconda程序组中的各个组件都是做什么用的

						wide&deep learning问题

						SMO算法中关于b值的求解

						caffe车辆检测

						2017年各大互联网公司校招日程统计

						应用班第8次课 图像检索作业

						大事记:官网上线自动支付、七月在线APP全面开放下载

						趋势科技南京研发中心招聘机器学习、数据挖掘人才

						CNN 在文本中的应用

						关于特征工程的一些问题

						【DNN】为什么神经网络需要激励函数

						关于python的一个问题

						conda和pip install各种package有什么区别

						《python数据分析班》环境安装

						16年8月内推公司名单:VIPKID(算法负责人)、溢思得瑞(数据科学家)、洋钱罐(数据挖掘)

						一起来吐槽——对官网跟问答社区,有任何反馈或意见?

						关于EM算法的一些疑问

						deep learning做文本分类

						关于特征工程的三个问题

						python 3 读取数据编码报错 跪求解决

						有奖竞答第一题:LR和线性回归的区别和联系有哪些?

						创新工场涂鸦移动团队2017校园招聘

						python 安装问题谁能帮一下忙?

						PCA本质理解问题

						用softmax做输出层碰到的问题

						最近做图像花图或者屏幕花屏检测,请问特征提取这块有没有什么思路或者方法

						【内推】【美团点评】2017届校招内推开始了

						Scince上发表的聚类算法,C++编程实现,有一个bug不知道怎么解决!!跪求大神!!!

						求e^x ,为什么不直接使用泰勒展开式?

						自动聊天机器人

						一般完整机器学习项目的工作流程

						如何入门机器学习

						搭建一个自动驾驶车模

						“Google TensorFlow 深度学习笔记”

						海量数据处理问题

						关于  弱监督学习

						《Python数据分析班》,已超过400人火爆报名

1.7 解析XML

!head -21 Performance_MNR.xml
from lxml import objectify

path = 'Performance_MNR.xml'
parsed = objectify.parse(open(path))
root = parsed.getroot()
data = []

skip_fields = ['PARENT_SEQ', 'INDICATOR_SEQ',
'DESIRED_CHANGE', 'DECIMAL_PLACES'] for elt in root.INDICATOR:
el_data = {}
for child in elt.getchildren():
if child.tag in skip_fields:
continue
el_data[child.tag] = child.pyval
data.append(el_data)
perf = DataFrame(data)
perf
AGENCY_NAME CATEGORY DESCRIPTION FREQUENCY INDICATOR_NAME INDICATOR_UNIT MONTHLY_ACTUAL MONTHLY_TARGET PERIOD_MONTH PERIOD_YEAR YTD_ACTUAL YTD_TARGET
0 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 96.9 95 1 2008 96.9 95
1 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 95 95 2 2008 96 95
2 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 96.9 95 3 2008 96.3 95
3 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 98.3 95 4 2008 96.8 95
4 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 95.8 95 5 2008 96.6 95
5 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 94.4 95 6 2008 96.2 95
6 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 96 95 7 2008 96.2 95
7 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 96.4 95 8 2008 96.2 95
8 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 93.7 95 9 2008 95.9 95
9 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 96.4 95 10 2008 96 95
10 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 96.9 95 11 2008 96.1 95
11 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 95.1 95 12 2008 96 95
12 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 92.6 96.2 1 2009 92.6 96.2
13 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 96.8 96.2 2 2009 94.6 96.2
14 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 96.9 96.2 3 2009 95.4 96.2
15 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 97.1 96.2 4 2009 95.9 96.2
16 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 97.8 96.2 5 2009 96.2 96.2
17 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 97.3 96.2 6 2009 96.4 96.2
18 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 96.7 96.2 7 2009 96.5 96.2
19 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 95.7 96.2 8 2009 96.4 96.2
20 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 96.1 96.2 9 2009 96.3 96.2
21 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 94.8 96.2 10 2009 96.2 96.2
22 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 95.7 96.2 11 2009 96.1 96.2
23 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 95 96.2 12 2009 96 96.2
24 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 98 96.3 1 2010 98 96.3
25 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 93 96.3 2 2010 95.6 96.3
26 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 96.9 96.3 3 2010 96.1 96.3
27 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 98.1 96.3 4 2010 96.6 96.3
28 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 97.6 96.3 5 2010 96.8 96.3
29 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 97.4 96.3 6 2010 96.9 96.3
... ... ... ... ... ... ... ... ... ... ... ... ...
618 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 94 7 2009 95.14
619 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 97 8 2009 95.38
620 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 98.3 9 2009 95.7
621 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 98.7 10 2009 96
622 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 98.1 11 2009 96.21
623 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 100 12 2009 96.5
624 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 97.95 97 1 2010 97.95 97
625 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 100 97 2 2010 98.92 97
626 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 100 97 3 2010 99.29 97
627 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 100 97 4 2010 99.47 97
628 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 100 97 5 2010 99.58 97
629 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 91.21 97 6 2010 98.19 97
630 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 100 97 7 2010 98.46 97
631 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 100 97 8 2010 98.69 97
632 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 95.2 97 9 2010 98.3 97
633 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 90.91 97 10 2010 97.55 97
634 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 96.67 97 11 2010 97.47 97
635 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 90.03 97 12 2010 96.84 97
636 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 100 97 1 2011 100 97
637 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 100 97 2 2011 100 97
638 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 97.07 97 3 2011 98.86 97
639 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 98.18 97 4 2011 98.76 97
640 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 79.18 97 5 2011 90.91 97
641 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 97 6 2011 97
642 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 97 7 2011 97
643 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 97 8 2011 97
644 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 97 9 2011 97
645 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 97 10 2011 97
646 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 97 11 2011 97
647 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 97 12 2011 97

648 rows × 12 columns

root
<Element PERFORMANCE at 0x108a0f290>
root.get('href')
root.text

二进制格式的数据

frame = pd.read_csv('data1.csv')
frame
frame.to_pickle('frame_pickle')
pd.read_pickle('frame_pickle')
a b c d message
0 1 2 3 4 hello
1 5 6 7 8 world
2 9 10 11 12 foo

使用HDF5格式

store = pd.HDFStore('mydata.h5')
store['obj1'] = frame
store['obj1_col'] = frame['a']
store
<class 'pandas.io.pytables.HDFStore'>
File path: mydata.h5
/obj1 frame (shape->[3,5])
/obj1_col series (shape->[3])
store['obj1']
store.close()
os.remove('mydata.h5')

HTML与API交互

import requests
url = 'https://api.github.com/repos/pydata/pandas/milestones/28/labels'
resp = requests.get(url)
resp
<Response [200]>
data[:5]
[{'AGENCY_NAME': 'Metro-North Railroad',
'CATEGORY': 'Service Indicators',
'DESCRIPTION': 'Percent of commuter trains that arrive at their destinations within 5 minutes and 59 seconds of the scheduled time. West of Hudson services include the Pascack Valley and Port Jervis lines. Metro-North Railroad contracts with New Jersey Transit to operate service on these lines.\n',
'FREQUENCY': 'M',
'INDICATOR_NAME': 'On-Time Performance (West of Hudson)',
'INDICATOR_UNIT': '%',
'MONTHLY_ACTUAL': 96.9,
'MONTHLY_TARGET': 95.0,
'PERIOD_MONTH': 1,
'PERIOD_YEAR': 2008,
'YTD_ACTUAL': 96.9,
'YTD_TARGET': 95.0},
{'AGENCY_NAME': 'Metro-North Railroad',
'CATEGORY': 'Service Indicators',
'DESCRIPTION': 'Percent of commuter trains that arrive at their destinations within 5 minutes and 59 seconds of the scheduled time. West of Hudson services include the Pascack Valley and Port Jervis lines. Metro-North Railroad contracts with New Jersey Transit to operate service on these lines.\n',
'FREQUENCY': 'M',
'INDICATOR_NAME': 'On-Time Performance (West of Hudson)',
'INDICATOR_UNIT': '%',
'MONTHLY_ACTUAL': 95.0,
'MONTHLY_TARGET': 95.0,
'PERIOD_MONTH': 2,
'PERIOD_YEAR': 2008,
'YTD_ACTUAL': 96.0,
'YTD_TARGET': 95.0},
{'AGENCY_NAME': 'Metro-North Railroad',
'CATEGORY': 'Service Indicators',
'DESCRIPTION': 'Percent of commuter trains that arrive at their destinations within 5 minutes and 59 seconds of the scheduled time. West of Hudson services include the Pascack Valley and Port Jervis lines. Metro-North Railroad contracts with New Jersey Transit to operate service on these lines.\n',
'FREQUENCY': 'M',
'INDICATOR_NAME': 'On-Time Performance (West of Hudson)',
'INDICATOR_UNIT': '%',
'MONTHLY_ACTUAL': 96.9,
'MONTHLY_TARGET': 95.0,
'PERIOD_MONTH': 3,
'PERIOD_YEAR': 2008,
'YTD_ACTUAL': 96.3,
'YTD_TARGET': 95.0},
{'AGENCY_NAME': 'Metro-North Railroad',
'CATEGORY': 'Service Indicators',
'DESCRIPTION': 'Percent of commuter trains that arrive at their destinations within 5 minutes and 59 seconds of the scheduled time. West of Hudson services include the Pascack Valley and Port Jervis lines. Metro-North Railroad contracts with New Jersey Transit to operate service on these lines.\n',
'FREQUENCY': 'M',
'INDICATOR_NAME': 'On-Time Performance (West of Hudson)',
'INDICATOR_UNIT': '%',
'MONTHLY_ACTUAL': 98.3,
'MONTHLY_TARGET': 95.0,
'PERIOD_MONTH': 4,
'PERIOD_YEAR': 2008,
'YTD_ACTUAL': 96.8,
'YTD_TARGET': 95.0},
{'AGENCY_NAME': 'Metro-North Railroad',
'CATEGORY': 'Service Indicators',
'DESCRIPTION': 'Percent of commuter trains that arrive at their destinations within 5 minutes and 59 seconds of the scheduled time. West of Hudson services include the Pascack Valley and Port Jervis lines. Metro-North Railroad contracts with New Jersey Transit to operate service on these lines.\n',
'FREQUENCY': 'M',
'INDICATOR_NAME': 'On-Time Performance (West of Hudson)',
'INDICATOR_UNIT': '%',
'MONTHLY_ACTUAL': 95.8,
'MONTHLY_TARGET': 95.0,
'PERIOD_MONTH': 5,
'PERIOD_YEAR': 2008,
'YTD_ACTUAL': 96.6,
'YTD_TARGET': 95.0}]
issue_labels = DataFrame(data)
issue_labels
AGENCY_NAME CATEGORY DESCRIPTION FREQUENCY INDICATOR_NAME INDICATOR_UNIT MONTHLY_ACTUAL MONTHLY_TARGET PERIOD_MONTH PERIOD_YEAR YTD_ACTUAL YTD_TARGET
0 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 96.9 95 1 2008 96.9 95
1 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 95 95 2 2008 96 95
2 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 96.9 95 3 2008 96.3 95
3 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 98.3 95 4 2008 96.8 95
4 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 95.8 95 5 2008 96.6 95
5 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 94.4 95 6 2008 96.2 95
6 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 96 95 7 2008 96.2 95
7 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 96.4 95 8 2008 96.2 95
8 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 93.7 95 9 2008 95.9 95
9 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 96.4 95 10 2008 96 95
10 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 96.9 95 11 2008 96.1 95
11 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 95.1 95 12 2008 96 95
12 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 92.6 96.2 1 2009 92.6 96.2
13 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 96.8 96.2 2 2009 94.6 96.2
14 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 96.9 96.2 3 2009 95.4 96.2
15 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 97.1 96.2 4 2009 95.9 96.2
16 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 97.8 96.2 5 2009 96.2 96.2
17 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 97.3 96.2 6 2009 96.4 96.2
18 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 96.7 96.2 7 2009 96.5 96.2
19 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 95.7 96.2 8 2009 96.4 96.2
20 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 96.1 96.2 9 2009 96.3 96.2
21 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 94.8 96.2 10 2009 96.2 96.2
22 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 95.7 96.2 11 2009 96.1 96.2
23 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 95 96.2 12 2009 96 96.2
24 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 98 96.3 1 2010 98 96.3
25 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 93 96.3 2 2010 95.6 96.3
26 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 96.9 96.3 3 2010 96.1 96.3
27 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 98.1 96.3 4 2010 96.6 96.3
28 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 97.6 96.3 5 2010 96.8 96.3
29 Metro-North Railroad Service Indicators Percent of commuter trains that arrive at thei... M On-Time Performance (West of Hudson) % 97.4 96.3 6 2010 96.9 96.3
... ... ... ... ... ... ... ... ... ... ... ... ...
618 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 94 7 2009 95.14
619 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 97 8 2009 95.38
620 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 98.3 9 2009 95.7
621 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 98.7 10 2009 96
622 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 98.1 11 2009 96.21
623 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 100 12 2009 96.5
624 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 97.95 97 1 2010 97.95 97
625 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 100 97 2 2010 98.92 97
626 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 100 97 3 2010 99.29 97
627 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 100 97 4 2010 99.47 97
628 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 100 97 5 2010 99.58 97
629 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 91.21 97 6 2010 98.19 97
630 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 100 97 7 2010 98.46 97
631 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 100 97 8 2010 98.69 97
632 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 95.2 97 9 2010 98.3 97
633 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 90.91 97 10 2010 97.55 97
634 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 96.67 97 11 2010 97.47 97
635 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 90.03 97 12 2010 96.84 97
636 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 100 97 1 2011 100 97
637 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 100 97 2 2011 100 97
638 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 97.07 97 3 2011 98.86 97
639 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 98.18 97 4 2011 98.76 97
640 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 79.18 97 5 2011 90.91 97
641 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 97 6 2011 97
642 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 97 7 2011 97
643 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 97 8 2011 97
644 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 97 9 2011 97
645 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 97 10 2011 97
646 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 97 11 2011 97
647 Metro-North Railroad Service Indicators Percent of the time that escalators are operat... M Escalator Availability % 97 12 2011 97

648 rows × 12 columns

2.数据库相关操作

2.1 sqlite数据库

import sqlite3

query = """
CREATE TABLE test
(a VARCHAR(20), b VARCHAR(20),
c REAL, d INTEGER
);""" con = sqlite3.connect(':memory:')
con.execute(query)
con.commit()
data = [('Atlanta', 'Georgia', 1.25, 6),
('Tallahassee', 'Florida', 2.6, 3),
('Sacramento', 'California', 1.7, 5)]
stmt = "INSERT INTO test VALUES(?, ?, ?, ?)" con.executemany(stmt, data)
con.commit()
cursor = con.execute('select * from test')
rows = cursor.fetchall()
rows
[(u'Atlanta', u'Georgia', 1.25, 6),
(u'Tallahassee', u'Florida', 2.6, 3),
(u'Sacramento', u'California', 1.7, 5)]
cursor.description
(('a', None, None, None, None, None, None),
('b', None, None, None, None, None, None),
('c', None, None, None, None, None, None),
('d', None, None, None, None, None, None))
DataFrame(rows, columns=zip(*cursor.description)[0])
a b c d
0 Atlanta Georgia 1.25 6
1 Tallahassee Florida 2.60 3
2 Sacramento California 1.70 5
import pandas.io.sql as sql
sql.read_sql('select * from test', con)
a b c d
0 Atlanta Georgia 1.25 6
1 Tallahassee Florida 2.60 3
2 Sacramento California 1.70 5

3.2 MySQL数据库

#coding=utf-8
import MySQLdb conn= MySQLdb.connect(
host='localhost',
port = 3306,
user='root',
passwd='123456',
db ='test',
)
cur = conn.cursor() #创建数据表
#cur.execute("create table student(id int ,name varchar(20),class varchar(30),age varchar(10))") #插入一条数据
#cur.execute("insert into student values('2','Tom','3 year 2 class','9')") #修改查询条件的数据
#cur.execute("update student set class='3 year 1 class' where name = 'Tom'") #删除查询条件的数据
#cur.execute("delete from student where age='9'") cur.close()
conn.commit()
conn.close()

3.3 Memcache

#coding:utf8
import memcache class MemcachedClient():
''' python memcached 客户端操作示例 ''' def __init__(self, hostList):
self.__mc = memcache.Client(hostList); def set(self, key, value):
result = self.__mc.set("name", "NieYong")
return result def get(self, key):
name = self.__mc.get("name")
return name def delete(self, key):
result = self.__mc.delete("name")
return result if __name__ == '__main__':
mc = MemcachedClient(["127.0.0.1:11511", "127.0.0.1:11512"])
key = "name"
result = mc.set(key, "NieYong")
print "set的结果:", result
name = mc.get(key)
print "get的结果:", name
result = mc.delete(key)
print "delete的结果:", result
---------------------------------------------------------------------------

ImportError                               Traceback (most recent call last)

<ipython-input-39-51dc19a879b8> in <module>()
1
----> 2 import memcache
3
4 class MemcachedClient():
5 ''' python memcached 客户端操作示例 ''' ImportError: No module named memcache

3.4 MongoDB

#encoding:utf=8
import pymongo connection=pymongo.Connection('10.32.38.50',27017) #选择myblog库
db=connection.myblog # 使用users集合
collection=db.users # 添加单条数据到集合中
user = {"name":"cui","age":"10"}
collection.insert(user) #同时添加多条数据到集合中
users=[{"name":"cui","age":"9"},{"name":"cui","age":"11"}]
collection.insert(users) #查询单条记录
print collection.find_one() #查询所有记录
for data in collection.find():
print data #查询此集合中数据条数
print collection.count() #简单参数查询
for data in collection.find({"name":"1"}):
print data #使用find_one获取一条记录
print collection.find_one({"name":"1"}) #高级查询
print "__________________________________________"
print '''''collection.find({"age":{"$gt":"10"}})'''
print "__________________________________________"
for data in collection.find({"age":{"$gt":"10"}}).sort("age"):
print data # 查看db下的所有集合
print db.collection_names()