楼主: 天涯印象
10338 4

[实际应用] 如何批量读取一个文件夹下txt文件 [推广有奖]

  • 0关注
  • 0粉丝

已卖:48份资源

硕士生

4%

还不是VIP/贵宾

-

威望
0
论坛币
53 个
通用积分
0.0600
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
3305 点
帖子
58
精华
0
在线时间
142 小时
注册时间
2016-4-17
最后登录
2024-3-14

楼主
天涯印象 学生认证  发表于 2017-12-2 20:04:08 |AI写论文
5论坛币
在一个文件夹下有txt文件若干
我想对这些txt批量执行如下:
filename <- read.table(file="filename.txt",  sep=",", header=T)
读取每一个txt文件,生成一个以txt文件名命名的数据框,不知道R语言如何做到?

最佳答案

jiangbeilu 查看完整内容

用for循环来做吧,如果你是要每个文件一个变量的话。 filename
关键词:txt 文件夹 filename name file

沙发
jiangbeilu 学生认证  发表于 2017-12-2 20:04:09
用for循环来做吧,如果你是要每个文件一个变量的话。
filename <- list.files()
for (i in 1:length(filename)){
    var_name <- gsub('.txt','',filename[i])
    assign(var_name,read.table(filename[i],sep=',',header=TRUE)
}
如果你想批量放进一个list里面,
直接用
data_list <- lapply(filename,read.table,sep=',',header=TRUE)

藤椅
ryoeng 在职认证  发表于 2017-12-4 11:03:41 来自手机
提示: 作者被禁止或删除 内容自动屏蔽

板凳
天涯印象 学生认证  发表于 2017-12-4 21:03:57
jiangbeilu 发表于 2017-12-4 06:35
用for循环来做吧,如果你是要每个文件一个变量的话。
filename
QQ截图20171204210000.jpg
文件夹内数据如图,我只想提取txt文件
  1. filename <- list.files()
  2. for (i in 1:length(filename)){
  3.   var_name[i] <- gsub('?.txt','',filename[i])
  4.   assign(var_name[i],read.table(filename[i],sep=",",header=TRUE))
  5. }
复制代码
代码略有修改,不过这个只能读取到plot points.R, 不知道为什么会读取plot points.R,难道不应该说仅仅提取txt后缀的文件么?而且实际上xml文件也读取了,不知道为什么
QQ截图20171204210238.jpg
请问如何能够完整的提取所有的txt文件呢,而且不要掺杂其他文件

报纸
jiangbeilu 学生认证  发表于 2017-12-4 21:15:10
要在list.files里面添加pattern = '.txt'才会只读txt的文件

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-9 04:10