Python将网络文本数据加载至本地内存的四种实现方案
本文介绍在Python中将网络文本数据直接加载到本地内存的四种常用方法。通过对比urllib、requests结合StringIO、numpy.genfromtxt以及pandas.read_csv的实现方式,展示如何高效获取远程CSV文件并转换为矩阵或DataFrame结构,适用于机器学习数据预处理场景。
本文通过具体示例,详细解析了Python中将网络文本数据下载并加载至本地内存的四种实现路径。以下内容旨在为开发者提供实用的参考方案,帮助读者根据实际需求选择最合适的技术栈。
import urllib.request
import requests
from io import StringIO
import numpy as np
import pandas as pd
'''
下载网络文件,并导入CSV文件作为numpy的矩阵
'''
# 网络数据文件地址
url = "http://archive.ics.uci.edu/ml/machine-learning-databases/pima-indians-diabetes/pima-indians-diabetes.data"
# 方法一
# ========================================================
# 下载文件
#r = urllib.request.urlopen(url)
# 导入CSV文件作为numpy的矩阵
#dataset = np.loadtxt(r, delimiter=",")
# 方法二
# ========================================================
# 下载文件
#r = requests.get(url)
# 导入CSV文件作为numpy的矩阵
#dataset = np.loadtxt(StringIO(r.text), delimiter=",") # 此处用到 StringIO !!!!!!
# 方法三
# ========================================================
#用genfromtxt直接下载网络文件,并将CSV文件导作numpy矩阵。爽!!!!!!!!
#dataset = np.genfromtxt(url, delimiter=",")
# 方法四
# ========================================================
# 用pandas.read_csv直接下载网络文件,并将CSV文件导作pandas.DataFrame。
# dataset = pd.read_csv('http://www-bcf.usc.edu/~gareth/ISL/Advertising.csv', index_col=0)
dataset = pd.read_csv(url)
# ========================================================
# separate the data from the target attributes
X = dataset[:,0:7]
y = dataset[:,8]
print(X)
#print(y)
如需深入了解Python其他核心技能,建议查阅本站相关专题,包括《Python进程与线程操作技巧总结》、《Python Socket编程技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》以及《Python文件与目录操作技巧汇总》。
期望上述内容能对各位的Python编程实践提供实质性帮助。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













