读取/写入数据处理

读取CSV,TSV文件

使用pandas库
csv和tsv是两种数据格式,csv数据之间用逗号隔开,tsv用’\t’隔开

import pandas as pd
#读取路径
r_readCSV = '../../test.csv'
r_readTSV = '../../test.tsv'
#读取数据
r_csv = pd.read_csv(r_readCSV)
r_tsv = pd.read_csv(r_readTSV,sep='\t')
#显示
print(r_csv.head(10))
print(r_csv.head(10))
#写入文件
with open(w_csv,'w') as write_csv:
	write_csv.write(r_tsv.to_csv(sep=',',index=False))#把tsv文件转换成csv
#使用with open ... as ...的好处是即使文件读取过程中出现异常,也能够正常关闭文件

使用csv库

import csv
#要读取数据的路径
r_CSV = '../../test.csv'
r_TSV = '../../test.tsv'
#保存数据的数据结构
csv_labels = []#第一行
tsv_labels =  []
csv_data = []
tsv_data = []
with open(r_CSV,'r') as csv_in:
	csv_reader = csv.reader(csv_in) #使用csv.reader方法
	csv_labels = csv_reader.__next__()#读取第一行
	for record in csv_reader:
		csv_data.append(record)
with open(r_TSV,'r') as tsv_in:
	tsv_reader = csv.reader(tsv_in,delimiter='\t') 
	tsv_labels = tsv_reader.__next__()#读取第一行
	for record in tsv_reader:
		tsv_data.append(record)
#输出
print(csv_labels,'\n')
print(tsv_labels,'\n')
print(csv_data[0:10],'\n')
print(tsv_data[0:10],'\n')

读取JSON文件

JSON全称“JavaScript Obiect Notation”,是一个嵌套的、类似字典的结构,以逗号为分隔符,存储键值对,键与值之间用冒号隔开。
使用pandas库

import pandas as pd
r_JSON = "../../test.json"
json_read = pd.read_json(r_JSON)#pd.read_json方法 
print(json_read.head(10))

使用json库

import json
#读取json文件内容
with open('../../...','r') as json_file:
	json_read = json.loads(json_file.read())#json.loads方法加载文件,
	#.read()方法读取json文件内容
#写入json文件内容
with open('../../...','w') as json_file:
	json_file.write(json.dumps(json_read))

读写Excel文件

使用pandas库

import pandas as pd
#读取和写入的路径
r_filenameXLSX = '../../Data/Chapter01/realEstate_trans.xlsx'
w_filenameXLSX = '../../Data/Chapter01/realEstate_trans.xlsx'
#打开excel文件
xlsx_file = pd.ExcelFile(r_filenameXLSX)#pd.ExcelFile方法
#读取内容
xlsx_read = {
			sheetName: xlsx_file.parse(sheetName)#.parse读取指定工作表的内容
				for sheetName in xlsx_file.sheet_name#遍历整个工作表
}
#输出
print(xlsx_read['Sacramento'].head(10)['price'])
#写入
xlsx_read['Sacramento'].to_excel(w_filenameXLSX,'Sacramento',index=False)

使用openpyxl库

import openpyxl as oxl
r_filenameXLSX = '../../Data/Chapter01/realEstate_trans.xlsx'
#打开excel文件
xlsx_wb = oxl.load_workbook(filename=r_filenameXLSX)
#获取所有工作表的名字
sheets= xlsx_wbget_sheet_names()
#提取Sacramento工作表
xlsx_ws = xlsx_wb[sheets[0]]
#获取第一行当作标签
labels = [cell.value for cell in xlsx_ws.rows[0]]
#遍历后面的内容,并存入列表
data = []
for row in xlsx_ws.rows[1:]:
	data.append([cell.value for cell in row])
#输出
print(
    [item[labels.index('price')] for item in data[0:10]]
)

数据规范化和标准化

为了提高计算效率,要将数据进行规范化和标准化
规范化是把数据集中在(0,1)之间,标准化是把数据的平均值变为0,标准差变为1。

#规范化
def normalize(col):
	return (col-col.min()) / (col.max() - col.min())
#减去数据的最小值再除以范围

#标准化
def standardize(col):
	return (col-col.mean()) / col.std()
#减去平均数,除以标准差
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值