繁体   English   中英

根据数据框中第三列的名称使用write.table()时更改文件名

[英]Change file name when using write.table() according to the name of the third column in data frame

我用R语言编写了一个脚本,该脚本合并并修改了一些csv数据,然后使用write table()保存了生成的数据帧。 保存文件时,会将当前日期添加到文件名中。 结果数据框的第三列始终是特定于国家/地区的,因此我想知道是否有一种方法可以使用write.table在文件名中包含国家/地区名称,具体取决于国家/地区代码(第三列的名称)。

例如,如果第三列的名称是“ it”,则我想使用write.table将“意大利”添加到csv文件的名称中。

将国家/地区名称和代码列表导入R :( 在脚本的最顶部执行此操作是明智的:在处理循环之外,这样就不必为要写入.csv的每个数据集重复读入数据。其余代码恰好在您当前的write.table命令之前

library(RCurl)
csv_src <- getURL("https://raw.githubusercontent.com/umpirsky/country-list/master/country/cldr/en/country.csv")

world <- read.csv(text=csv_src, header=T)`

使用国家/地区代码获取数据中第三列的名称:

countrycode <- colnames(yourdata)[3]

提取相应的国家名称:

country_idx <- grep(pattern=countrycode, x=world$iso, ignore.case = TRUE)

country <- world$name[country_idx]

将国家/地区名称附加到csv文件名( 用要附加到输出文件名的其他任何标签替换“ ...”。否则,请删除“ ...”

csv_name <- paste0("...",country, ".csv") 

将数据写到文件中:

write.table(x=yourdata, file=csv_name)

祝好运 :-)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM