美文网首页
利用Python进行数据分析的笔记-2

利用Python进行数据分析的笔记-2

作者: JaeGwen | 来源:发表于2017-12-15 17:09 被阅读48次
  • Python读取各种各样的文件格式(csv、json、xml)和数据库

Python有许多内置或者第三方模块pandas可以对文件进行读取

path='ZILLOW-M550_SALES.csv'
open(path).readline() #只读取第一行数据
image.png
path='ZILLOW-M550_SALES.csv'
open(path).readlines() #读取整个文件数据
image.png

pandas模块对于csv文件的读取最为友好,有read_csv方法

import pandas as pd
df = pd.read_csv("ZILLOW-M550_SALES.csv")
df.head()  #显示前5行
image.png

将JSON格式字符串转换为python字典,可以使用json模块以及其loads函数逐行加载下载好的数据文件

import json

path = 'M550_SALES.json'
records = [json.loads(line) for line in open(path)]
records[0]
image.png

python字典通过索引,并且索引是从0开始的,不像其他的语言是从1开始的。现在,只要以字符串的形式给出想要访问的键就可以得到当前记录中相应的值了:

import json

path = 'M550_SALES.json'
records = [json.loads(line) for line in open(path)]
#print json.dumps(records,indent=2)

records[0]['dataset'] #查询dataset键值
image.png
import json
import pandas as pd
%matplotlib inline

path = 'M550_SALES.json'
records = [json.loads(line) for line in open(path)]
#print json.dumps(records,indent=2)

df1 = records[0]['dataset']['data']
#print df1
df2 = pd.DataFrame(df1)
df2.set_index(0,inplace=True) #根据日期排序
print df2

df2.plot(figsize=(16,6)) #绘图函数

image.png image.png

读取XML文件

XML是扩展标记语言(eXtensible Markup Language)的缩写。它看起来有些像我们上网时每天都要用到的HTML源码,但是有区别。它的设计初衷,不是为了展示Web页面,而是为了数据交换。

from bs4 import BeautifulSoup

with open('M550_SALES.xml') as f:
    data = f.read()
    print data

image.png
from bs4 import BeautifulSoup

with open('M550_SALES.xml') as f:
    data = f.read()
    #print data
    soup = BeautifulSoup(data,"lxml")
    df = soup.find_all('datum',type='date')
    df = [item.text for item in df]
    value = soup.find_all('datum',type='float')
    #print value
    value = [float(item.text) for item in value]
    #print value
    df2 = pd.DataFrame({'datas':df, 'value':value})
    print df2

image.png
  • 数据库文件未完待续

相关文章

网友评论

      本文标题:利用Python进行数据分析的笔记-2

      本文链接:https://www.haomeiwen.com/subject/jdokwxtx.html