rstudio导入txt文件_R语言 | 读写txt、csv、excel文件

论坛 期权论坛 编程之家     
选择匿名的用户   2021-5-16 22:50   11   0

前段时间看到plotnine库(封装的R语言ggplot2)作的图太美了,有点想重新拾起R语言^_^

R语言代码略带凌乱,讲真的还是更喜欢Python代码简洁。不过好几年不琢磨R语言,对R语言代码的凌乱美有些新奇,很好玩,这也许就是久别胜新欢吧。

而且R语言的文本分析生态也挺全的,Python与R结合起来,完美~

R语言读写操作

本章文件读写用到的包有

readtext

readr

readxl

writexl

其中readr、readxl均为tidyverse内的子包,做数据分析一般绕不开tidyverse

tidyverse含有的包

library(tidyverse)

tidyverse::tidyverse_packages()

## [1] "broom" "cli" "crayon" "dbplyr" "dplyr"

## [6] "forcats" "ggplot2" "haven" "hms" "httr"

## [11] "jsonlite" "lubridate" "magrittr" "modelr" "pillar"

## [16] "purrr" "readr" "readxl" "reprex" "rlang"

## [21] "rstudioapi" "rvest" "stringr" "tibble" "tidyr"

## [26] "xml2" "tidyverse"

预备知识: tibble包

tibble比R内置的数据框的易用,默认不会将字符串转化为因子型。选择tibble数据的子集,返回的结果仍是tibble类型

创建数据框: tibble()

强制转化数据框: as_tibble()

创建数据框

#tibble::tibble意识是导入tibble包的tibble函数

df

x = c(1,2,3,4),

name=c("张三", "李四", "王五", "赵六"),

age=c(25, 23, 30, 18)

)

df

colnames(df)

## [1] "x" "name" "age"

rownames(df)

## [1] "1" "2" "3" "4"

读写实战

安装

install.packages(c("readtext","readr","readxl", "writexl"))

读取文件相关操作

读取

代码

功能

txt

readtext

readtext()

读取txt文件

csv

readr

read_csv()

读取csv文件

excel

readxl

read_excel()

读取xls、xlsx文件

读取csv

默认csv文件为utf-8编码

#读取csv

df

#为了展示的更好看一些

df

df

读取excel文件

df2

df2

读txt

document

document

#全部显示

#document['text']

#显示前200个字符

substr(document['text'], 1, 200)

## [1] "\n------------\n\n第1章 科学边界(1)\n\n 恋上你看书网 630bookla ,最快更新三体(全集)最新章节!\n\n 汪淼觉得,来找他的这四个人是一个奇怪的组合:两名警察和两名军人,如果那两个军人是武警还算正常,但这是两名陆军军官。\n\n 汪淼第一眼就对来找他的警察没有好感。其实那名穿警服的年轻人还行,举止很有礼貌,但那位便衣就让人讨厌了。这人长得五大三粗,一脸横肉,穿"

document[['doc_id']]

## [1] "三体.txt"

#全部显示

#document[['text']]

#显示前200个字符

substr(document[['text']], 1, 200)

## [1] "\n------------\n\n第1章 科学边界(1)\n\n 恋上你看书网 630bookla ,最快更新三体(全集)最新章节!\n\n 汪淼觉得,来找他的这四个人是一个奇怪的组合:两名警察和两名军人,如果那两个军人是武警还算正常,但这是两名陆军军官。\n\n 汪淼第一眼就对来找他的警察没有好感。其实那名穿警服的年轻人还行,举止很有礼貌,但那位便衣就让人讨厌了。这人长得五大三粗,一脸横肉,穿"

导入多个txt文件

list.files() 某路径下多个文件

#获取文件列表

files

head(files)

## [1] "data/txts/三孚股份2017.txt" "data/txts/三棵树2017.txt"

## [3] "data/txts/三江购物2017.txt" "data/txts/上海九百2017.txt"

## [5] "data/txts/上海机电2017.txt" "data/txts/上海物贸2017.txt"

texts

doc_ids

for (file in files) {

document

doc_ids

texts

#texts

}

df

doc_ids=doc_ids,

texts = texts

)

head(df)

写入文件相关操作

写入

代码

功能

csv

readr

write_csv()

将数据写入csv文件

excel

writexl

write_excel()

将数据写入excel

存入excel

使用writexl包的write_xlsx(x, path)

x: tibble表数据

path: xlsx文件路径

#写入xlsx

writexl::write_xlsx(df, "output/reports.xlsx")

存入csv

使用readr包的write_csv(x, path)

x: tibble表数据

path: csv件路径

#写入csv

readr::write_csv(df, "output/reports.csv")

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP