【发布时间】:2020-03-30 10:17:36
【问题描述】:
我正在开发 R Studio。
我有大约 50 个 txt 文件,所有这些文件都有类似格式的数据(14 列以相同的顺序)。每个文件都很大(~100MB)。我将所有文件保存在一个文件夹中。我需要做的是编写一个 R 代码,以便我可以打开一个文件,执行一些操作,将输出写入目标文件并关闭文件。在此之后,我需要按照剩余文件的流程进行操作。我想自动化这个过程,但不确定如何继续。尝试搜索,但找不到我可以申请的内容。
我已经为一个文件完成了此操作,但不确定可以帮助我自动化处理 50 个文件的过程的代码。请求帮助.....
library(data.table)
library(dplyr)
library(tidyverse)
#### Opening One File
myfile=fread("C:/Users/shegu/Desktop/LOB30SCRIP_010318.txt",
sep="|",header=FALSE, stringsAsFactors = TRUE)
#### Renaming cols
colnames(myfile) <- c("Trading_Session", "Scrip_Code", "Buy_Sell",
"Order_Type", "Rate_in_Paise", "Quantity","Avl_Quantity", "Order_Time_Stamp",
"Retention", "AUD_Code", "Order_ID", "Action_ID", "Error_Code","ALGO_Flag")
#### Changing Format of cols
myfile$Order_Time_Stamp=as.Date(myfile$Order_Time_Stamp, "%Y-%m-%d %H:%M:%S")
myfile$Scrip_Code=as.factor(myfile$Scrip_Code)
myfile$Order_ID=as.factor(myfile$Order_ID)
#### Performing Group-by operation (this needs to be done on each file in my folder)
myfile_by_AUD_Code=myfile%>%
group_by(Scrip_Code,ALGO_Flag,AUD_Code)%>%
summarise(n())
#### Writing results to target file (need results for all files in this target file)
write.csv(myfile_by_AUD_Code,"C:/Users/shegu/Desktop/BSE_Data/Target.csv",
row.names = FALSE)
【问题讨论】:
-
有条不紊地处理这个问题。生成所有文件的列表,并对列表中的所有文件执行操作。将输出保存到目标对象,然后将该对象写入文件。
-
谢谢你。事实上,我无法想出一个一个打开文件并执行所需操作的代码。此外,我还会从 r 中删除该文件,因为每个文件的大小都很大。感谢您的帮助。
标签: r data-manipulation summarize