Python数据导入的方式有哪些,分别是什么
Admin 2022-12-12 群英技术资讯 474 次浏览
NumPy
或Pandas
来导入数据,因此在开始之前,先执行:import numpy as np import pandas as pd
很多时候对一些函数方法不是很了解,此时Python提供了一些帮助信息,以快速使用Python对象。
np.info(np.ndarray.dtype)
help(pd.read_csv)
filename = 'demo.txt' file = open(filename, mode='r') # 打开文件进行读取 text = file.read() # 读取文件的内容 print(file.closed) # 检查文件是否关闭 file.close() # 关闭文件 print(text)
使用上下文管理器 -- with
with open('demo.txt', 'r') as file: print(file.readline()) # 一行一行读取 print(file.readline()) print(file.readline())
使用 Numpy 读取 Flat 文件
Numpy 内置函数处理数据的速度是 C 语言级别的。
Flat 文件是一种包含没有相对关系结构的记录的文件。(支持Excel、CSV和Tab分割符文件 )
1.具有一种数据类型的文件
用于分隔值的字符串跳过前两行。在第一列和第三列读取结果数组的类型。
filename = 'mnist.txt' data = np.loadtxt(filename, delimiter=',', skiprows=2, usecols=[0,2], dtype=str)
2.具有混合数据类型的文件
两个硬的要求:
filename = 'titanic.csv' data = np.genfromtxt(filename, delimiter=',', names=True, dtype=None)
使用 Pandas 读取Flat文件
filename = 'demo.csv' data = pd.read_csv(filename, nrows=5, # 要读取的文件的行数 header=None, # 作为列名的行号 sep='\t', # 分隔符使用 comment='#', # 分隔注释的字符 na_values=[""]) # 可以识别为NA/NaN的字符串
Pandas中的ExcelFile()
是pandas中对excel表格文件进行读取相关操作非常方便快捷的类,尤其是在对含有多个sheet的excel文件进行操控时非常方便。
file = 'demo.xlsx' data = pd.ExcelFile(file) df_sheet2 = data.parse(sheet_name='1960-1966', skiprows=[0], names=['Country', 'AAM: War(2002)']) df_sheet1 = pd.read_excel(data, sheet_name=0, parse_cols=[0], skiprows=[0], names=['Country'])
使用sheet_names
属性获取要读取工作表的名称。
data.sheet_names
SAS (Statistical Analysis System)是一个模块化、集成化的大型应用软件系统。其保存的文件即sas是统计分析文件。
from sas7bdat import SAS7BDAT with SAS7BDAT('demo.sas7bdat') as file: df_sas = file.to_data_frame()
Stata 是一套提供其使用者数据分析、数据管理以及绘制专业图表的完整及整合性统计软件。其保存的文件后缀名为.dta
的Stata文件。
data = pd.read_stata('demo.dta')
python中几乎所有的数据类型(列表,字典,集合,类等)都可以用pickle来序列化。python的pickle模块实现了基本的数据序列和反序列化。通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储;通过pickle模块的反序列化操作,我们能够从文件中创建上一次程序保存的对象。
import pickle with open('pickled_demo.pkl', 'rb') as file: pickled_data = pickle.load(file) # 下载被打开被读取到的数据
与其相对应的操作是写入方法pickle.dump()
。
HDF5文件是一种常见的跨平台数据储存文件,可以存储不同类型的图像和数码数据,并且可以在不同类型的机器上传输,同时还有统一处理这种文件格式的函数库。
HDF5 文件一般以 .h5
或者 .hdf5
作为后缀名,需要专门的软件才能打开预览文件的内容。
import h5py filename = 'H-H1_LOSC_4_v1-815411200-4096.hdf5' data = h5py.File(filename, 'r')
其由matlab将其工作区间里的数据存储的后缀为.mat
的文件。
import scipy.io filename = 'workspace.mat' mat = scipy.io.loadmat(filename)
from sqlalchemy import create_engine engine = create_engine('sqlite://Northwind.sqlite')
使用table_names()
方法获取一个表名列表
table_names = engine.table_names()
con = engine.connect() rs = con.execute("SELECT * FROM Orders") df = pd.DataFrame(rs.fetchall()) df.columns = rs.keys() con.close()
使用上下文管理器 -- with
with engine.connect() as con: rs = con.execute("SELECT OrderID FROM Orders") df = pd.DataFrame(rs.fetchmany(size=5)) df.columns = rs.keys()
df = pd.read_sql_query("SELECT * FROM Orders", engine)
数据导入后会对数据进行初步探索,如查看数据类型,数据大小、长度等一些基本信息。这里简单总结一些。
data_array.dtype # 数组元素的数据类型 data_array.shape # 阵列尺寸 len(data_array) # 数组的长度
df.head() # 返回DataFrames前几行(默认5行) df.tail() # 返回DataFrames最后几行(默认5行) df.index # 返回DataFrames索引 df.columns # 返回DataFrames列名 df.info() # 返回DataFrames基本信息 data_array = data.values # 将DataFrames转换为NumPy数组
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要给大家分享python的mro算法的内容,可能一些朋友对mro不是很了解,但是没关系,下文有详细的介绍,及实例代码供大家参考,对python的mro算法感兴趣的朋友接下来就跟随小编一起来学习一下吧。
这篇文章主要介绍了python 中的requirements.txt文件的使用详情,文章围绕主题展开详细内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
很多时候我们需要对数据进行格式化,你有没有对python中的数据格式化感到头疼呢?pprint会帮你很大的忙pprint模块中使用的格式化可以按照一...
最近使用Python的过程中遇到了一些坑,例如用datetime datetime now()这个可变对象作为函数的默认参数,模块循环依赖等等。在此记录一下,
这篇文章主要介绍了pytorch中的nn.Sequential(*net[3: 5])是啥意思,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008