(数据科学学习手札05)Python与R数据读入存出方式的总结与比较
在数据分析的过程中,外部数据的导入和数据的导出是非常关键的部分,而Python和R在这方面大同小异,且针对不同的包或模块,对应着不同的函数来完成这部分功能:
Python
1.TXT文件
导入:
以某证券软件导出的txt格式股票数据为例:
方式1:
with open(r'C:\Users\windows\Desktop\test\input\SH#600216.txt','r') as s:data_raw = s.readlines() data_raw
可以看到,通过readlines(),目标文件中的每一行都被保存为列表中的一个元素
方式2:
with open(r'C:\Users\windows\Desktop\test\input\SH#600216.txt','r') as s:t = []while True:line = s.readline()if line:t.append(line)else:break t
方式3:
with open(r'C:\Users\windows\Desktop\test\input\SH#600216.txt','r') as s:t = s.read() print(t)
read()读入的是整个txt文件的数据,无视分行:
为了得到每行独立的列表,只需使用spilt()即可:
t.spilt('\n')
写出:
with open(r'C:\Users\windows\Desktop\test\input\SH#600216.txt','r') as s:t = s.read()with open(r'C:\Users\windows\Desktop\test\input\write.txt','w') as w:w.write(t)
这是观察文件所在目录,多出了我们生成的txt文件:
2.csv文件
读入:
这里我们需要用到pandas包来进行相关操作:
import pandas as pddata = pd.read_csv(r'C:\Users\windows\Desktop\test\input\重庆美团商品基本信息.csv',engine='python')
查看data,证实成功读入:
写出:
上面我们完成了对之指定csv文件的读入,并以数据框的形式存放在data中,下面我们将data中的数据写出到新命名的文件中:
data.to_csv(r'C:\Users\windows\Desktop\test\input\new.csv',encoding='ANSI')
这时查看对应目录下的确出现了new.csv:
3.xlsx文件
读入:
import pandas as pddata = pd.read_excel(r'C:\Users\windows\Desktop\test\input\重庆美团商家信息.xlsx') data.head()
写出:
data.to_excel(r'C:\Users\windows\Desktop\test\input\new.xlsx',encoding='ANSI')
R
1.txt文件
读入:
> setwd('C:\\Users\\windows\\Desktop\\test\\output')
> data <- read.table('SH#600216.txt',skip=1,header=T)
> summary(data)
日期 开盘 最高 最低 收盘
2013/03/04: 1 Min. : 8.18 Min. : 8.76 Min. : 8.18 Min. : 8.34
2013/03/05: 1 1st Qu.:10.41 1st Qu.:10.54 1st Qu.:10.28 1st Qu.:10.41
2013/03/06: 1 Median :11.60 Median :11.86 Median :11.39 Median :11.61
2013/03/07: 1 Mean :12.88 Mean :13.10 Mean :12.68 Mean :12.90
2013/03/08: 1 3rd Qu.:13.99 3rd Qu.:14.18 3rd Qu.:13.77 3rd Qu.:14.03
2013/03/11: 1 Max. :24.39 Max. :24.59 Max. :23.80 Max. :24.04
(Other) :1209
成交量 成交额
Min. : 2343203 Min. :2.651e+07
1st Qu.: 7052300 1st Qu.:8.825e+07
Median :13560938 Median :1.664e+08
Mean :17675921 Mean :2.262e+08
3rd Qu.:24076418 3rd Qu.:3.010e+08
Max. :97149939 Max. :1.283e+09
写出:
> write.table(data,'new.txt')
2.csv文件
读入:
> setwd('C:\\Users\\windows\\Desktop\\test\\output') > data <- read.csv('重庆美团商品基本信息.csv',header=T,sep=',') > summary(data)月份 平台 店铺名称 2017/5/1 :43841 美团:275343 巫山纸包鱼 : 264 2017/4/1 :43154 黔江鸡杂 : 246 2017/6/1 :39231 街吧 : 203 2017/3/1 :38855 四季颂蛋糕 : 189 2016/11/1:37496 万州烤鱼 : 187 2016/12/1:36682 苒然烘焙(金科店): 180 (Other) :36084 (Other) :274074 商品名称 菜系 价格 原价 100元代金券1张,可叠加: 16913 甜点饮品:65760 Min. : 0 Min. : 0.0 10元代金券1张,可叠加 : 4879 火锅 :59417 1st Qu.: 38 1st Qu.: 50.0 4人餐,提供免费WiFi : 4263 川菜 :49437 Median : 90 Median : 130.0 20元代金券1张,可叠加 : 3223 小吃快餐:41659 Mean : 140 Mean : 207.7 8人餐,提供免费WiFi : 3166 其他美食:12706 3rd Qu.: 168 3rd Qu.: 247.0 6人餐,提供免费WiFi : 3078 烧烤烤肉:11732 Max. :6888 Max. :14500.0 (Other) :239821 (Other) :34632 NA's :38 NA's :39 城市 重庆:275343
写出:
> write.csv(data,file='new.csv')
3.xlsx文件
读入:
方式1:
> library(readxl) > setwd('C:\\Users\\windows\\Desktop\\test\\output') > data <- read_excel('重庆美团商家信息.xlsx') > head(data) # A tibble: 6 x 15 数据所属期 平台类型 平台 商家名称 商家电话 商家评分<dttm> <chr> <chr> <chr> <chr> <dbl> 1 2017-06-01 团购 美团 大通冰室(商社汇店) 13983861054 5.0 2 2017-06-01 团购 美团 四季花苑渝湘精致菜馆 023-49815818 4.6 3 2017-06-01 团购 美团 南丫甜(久长街店) 13808360338 5.0 4 2017-06-01 团购 美团 午后蛋糕店(涪陵店) 18225142460 3.9 5 2017-06-01 团购 美团 侯哥风味酒楼 15923287859 3.5 6 2017-06-01 团购 美团 茶颜茶语 13389663358 NA # ... with 9 more variables: 商家地址 <chr>, 商家评论数 <dbl>, 城市 <chr>, 省 <chr>, # 本月销量 <dbl>, 本月销售额 <dbl>, 特色菜 <chr>, 菜系 <chr>, 商家URL <chr>
方式2(速度超慢,非常不建议使用!!!):
options(java.parameters = "-Xmx4096m") library(xlsx) setwd('C:\\Users\\windows\\Desktop\\test\\output') data <- read.xlsx('重庆美团商家信息.xlsx',sheetIndex = 1) head(data)
写出:
目前R的针对excel文件写出的方法中,比较方便(前提是你的电脑安装了java并成功配置好环境)的是xlsx包中的write.xlsx(),如下:
write.xlsx(data,file='demo.xlsx')
Python与R对基本数据类型的读入写出大致如上,而对数据库文件等较复杂数据的处理以后会提及。
转载于:https://www.cnblogs.com/feffery/p/8545474.html
(数据科学学习手札05)Python与R数据读入存出方式的总结与比较相关推荐
- (数据科学学习手札58)在R中处理有缺失值数据的高级方法
一.简介 在实际工作中,遇到数据中带有缺失值是非常常见的现象,简单粗暴的做法如直接删除包含缺失值的记录.删除缺失值比例过大的变量.用0填充缺失值等,但这些做法会很大程度上影响原始数据的分布或者浪费来之 ...
- (数据科学学习手札32)Python中re模块的详细介绍
一.简介 关于正则表达式,我在前一篇(数据科学学习手札31)中已经做了详细介绍,本篇将对Python中自带模块re的常用功能进行总结: re作为Python中专为正则表达式相关功能做出支持的模块,提供 ...
- (数据科学学习手札61)xpath进阶用法
一.简介 xpath作为对网页.对xml文件进行定位的工具,速度快,语法简洁明了,在网络爬虫解析内容的过程中起到很大的作用,除了xpath的基础用法之外(可参考我之前写的(数据科学学习手札50)基于P ...
- (数据科学学习手札03)Python与R在随机数生成上的异同
随机数的使用是很多算法的关键步骤,例如蒙特卡洛法.遗传算法中的轮盘赌法的过程,因此对于任意一种语言,掌握其各类型随机数生成的方法至关重要,Python与R在随机数底层生成上都依靠梅森旋转(twiste ...
- python主成分对变量的贡献率_(数据科学学习手札20)主成分分析原理推导Python自编函数实现...
主成分分析(principal component analysis,简称PCA)是一种经典且简单的机器学习算法,其主要目的是用较少的变量去解释原来资料中的大部分变异,期望能将现有的众多相关性很高的变 ...
- (数据科学学习手札45)Scala基础知识
一.简介 由于Spark主要是由Scala编写的,虽然Python和R也各自有对Spark的支撑包,但支持程度远不及Scala,所以要想更好的学习Spark,就必须熟练掌握Scala编程语言,Scal ...
- 太极计算机ehr系统,(数据科学学习手札21)sklearn.datasets常用功能详解
作为Python中经典的机器学习模块,sklearn围绕着机器学习提供了很多可直接调用的机器学习算法以及很多经典的数据集,本文就对sklearn中专门用来得到已有或自定义数据集的datasets模块进 ...
- (数据科学学习手札37)ggplot2基本绘图语法介绍
一.简介 ggplot2是R语言中四大著名绘图框架之一,且因为其极高的参数设置自由度和图像的美学感,即使其绘图速度不是很快,但丝毫不影响其成为R中最受欢迎的绘图框架:ggplot2的作者是现任Rstu ...
- python sci数据_scanpy学习笔记:用Python分析单细胞数据
Scanpy 是一个基于 Python 分析单细胞数据的软件包,内容包括预处理,可视化,聚类,拟时序分析和差异表达分析等.本文翻译自 scanpy 的官方教程 Preprocessing and cl ...
最新文章
- 中国经济是前所未有二元经济(转)
- QIIME 2教程. 10数据导出Exporting data(2020.11)
- LeetCode-笔记-199. 二叉树的右视图——BFS广度优先搜索
- centos7安装php5.2yum源操作_CentOS 7下Yum安装PHP7.2步骤
- 动态网页中隐藏url参数传递的方法
- 低秩矩阵完备_多源域和多视角 “秩约束”
- dynamodb 基本操作
- Dynamics CRM 2015中的SSRS Report集成配置
- SQL语句 分页实现
- unix支持哪些原始文件系统操作_UNIX环境高级程序设计(APUE)第4章第1部分:文件系统基础知识...
- 最值得收藏的 数值分析 全部知识点思维导图整理(东北大学慕课课程)(持续更新中)
- 360浏览器怎么开java_360安全浏览器怎么打开javascript
- mac电脑ip地址修改教程
- 【信息系统项目管理师】第十六章 变更管理思维导图
- css栅格布局的四种大小xs,sm,md,lg
- 解决IDEA编译(java找不到符号)问题
- 域名注册及免费空间and企业邮箱
- unlink函数 与 remove函数
- 将文件打成压缩包下载(OSS或FASTDFS)
- dms3.0 mysql_DMS 3.0 导入数据库出错-问答-阿里云开发者社区-阿里云
热门文章
- vs2010 设计视图中控件无法加载,提示未将对象设置到对象的实例。
- Centos下安装X Window+GNOME Desktop+FreeNX
- 透过NpetShop 看Web项目开发中的分工合作
- SQL查询单表数据之排序(二)
- Base64编码解码
- 浏览器中的JavaScript
- 安装串口设备驱动时遇到 Windows 无法验证此设备所需的驱动程序的数字签名。最近的硬件或软件更改安装的文件可能未正确签名或已损坏,或者可能是来自未知来源的恶意软件. 问题该如何处理?...
- 洛谷P1122最大子树和题解
- 卷积神经网络之AlexNet
- struts中ModelDriven()接口