資料匯入與準備是進行資料探勘等機器學習的第一要素。從各種不同的格式檔案中匯入資料是一件比較麻煩的事。因為檔案格式多種多樣,那麼使用匯入的方法也是有所不同。我總結了目前最常用的檔案格式匯入資料的一些方法,給大家參考一下。
# 從csv檔案匯入資料
'''步驟:
1. 開啟檔案
2.讀取檔案頭
3.讀取剩餘行
4當發生錯誤時丟擲異常
'''import csv
import sys
filename = 'ex5.csv'
data =
try:
with open(filename) as f:
reader = csv.reader(f)
header = reader.next()
data = [row for row in reader]
except csv.error as e:
print "error reading csv file at line %s : %s" % (reader.line_num, e)
sys.exit(-1)
if header:
print header
print "**********"
for datarow in data:
print datarow
# 從excel檔案中匯入資料
'''步驟:
1. 開啟檔案的工作簿。
2. 根據名稱找到工作表。根據行數(nrows)和列數(ncols)讀取單元格的內容。
3. 列印出資料集合。
'''import xlrd
file = 'output.xls'
wb = xlrd.open_workbook(file)
ws = wb.sheet_by_name("sheet1")
dataset =
for r in xrange(ws.nrows):
col =
for c in range(ws.ncols):
# 美化列印
from pprint import pprint
pprint(dataset)
# 從定寬資料檔案匯入資料
'''步驟:
1.指定要讀取的資料檔案。
2.定義資料讀取的方式。
3.逐行讀取檔案並根據格式把每一行解析成單獨的資料字段。
4.按單獨資料字段的形式列印每一行。
'''import struct
datafile = 'fix-width.data'
# 掩碼定義為5s10s5s,表示為9個字元的字串,跟乙個10個字元的字串,再跟乙個5個字元的字串(包括空格)。
mask = '5s10s5s'
results =
with open(datafile, 'r') as f:
for line in f:
# 用格式解析的unpack_from方法。
fields = struct.struct(mask).unpack_from(line)
from pprint import pprint
pprint(results)
# 從製表符分隔的檔案中讀取資料
'''製表符分隔的檔案大部分是可以用csv檔案匯入的方法,除了一些不正常的檔案。這時就需要在切分前對特殊行的資料進行單獨清理。
'''from pandas import dataframe
lines =
datafile = 'data_dirty.tab'
with open(datafile, "r") as f:
for line in f:
line = line.strip().split("\t")
results = dataframe(lines[1:], columns=[lines[0]])
print results
# 從json資料來源匯入資料
'''步驟:
1.指定url讀取json格式資料
2.使用requests模組訪問指定的url,並獲取內容
3.讀取內容並將轉化為json格式的物件
4.迭代訪問json物件,讀取每乙個**庫的url值
'''import requests
url = ''
r = requests.get(url)
json_obj = r.json()
repos = set()
for entry in json_obj:
print entry
try:
repos.add(entry['repository']['url'])
except keyerror as e:
print "no key %s skipping..." % (e)
from pprint import pprint
pprint(repos)
# 從html中匯入資料
from lxml.html import parse
from urllib2 import urlopen
parsed = parse(urlopen(""))
# 找到文件中的**,並將其匯入。
doc = parsed.getroot()
table = doc.findall(".//table")
# 然後選擇乙個**做測試。
put = table[1]
# 對於乙個**來說,有乙個標題和資料。在html中th單元格就表示標題行,td則表示資料行。
def _unpack(row, kind="td"):
elts = row.findall(".//%s" % kind)
return [val.text_content() for val in elts]
# 同時,在匯入資料**時,應該考慮到文字型別。我們使用pandas中的textparser類自動型別轉換。
from pandas.io.parsers import textparser
def parse_options_data(table):
rows = table.findall(".//tr")
header = _unpack(rows[0], kind="th")
data = [_unpack(r) for r in rows[1:]]
return textparser(data, names=header).get_chunk()
# 最後對這個**呼叫該解析函式
put_data = parse_options_data(put)
print put_data[:10]
# 同時,我們也可以獲取文件的全部url
# 鏈結的標籤是a。
links = doc.findall(".//a")
# print links[15:20]
# 得到乙個鏈結的url和文字內容分別使用,get()和text_content()方法
urls = [lnk.get("href") for lnk in links]
text = [lnk.text_content() for lnk in links]
from pprint import pprint
pprint(urls[:10])
print 「**********==」
pprint(text[:10])
資料匯入 python
匯入csv資料 import pandas as pd data pd.read csv 檔案儲存的位置 data.describe 資料的統計 data.sort values by 列名 資料按某列排序匯入excel資料 excel是一種 檔案,在python資料分析中,同樣可以使用pandas...
python準備 python環境準備
環境準備 可以使用linux作業系統或者mac系統,windows上也可以使用.ide editor python版本選擇 推薦使用3.4.x以上的版本,雖然很多模組在python2版本上比較穩定,相對支援的庫也比較多,但是python3是趨勢.安裝pyenv來管理python環境 pyenv的安裝...
python 資料如何匯入
python如何將csv,xls,sql,html,txt檔案中的資料匯入到python中。在使用的python之前先導入pandas這個模組。1 匯入csv格式的資料 使用pandas 中的read csv 要匯入資料的位置 2 匯入xls格式的資料 使用pandas中的read excel 要匯...