【发布时间】:2017-05-08 12:01:56
【问题描述】:
我正在从 MySQL 数据库中提取数据,创建一个包含两列的 CSV 文件:ID 和 Text。我想知道一种简单的方法(SQL、文本编辑器或 R 解决方案)为包含第二列(文本格式)的每一行创建一个文本文件,其中第一列的 ID 作为文本文件的名称。有任何想法吗?提前致谢。
【问题讨论】:
标签: mysql r csv text-files data-manipulation
我正在从 MySQL 数据库中提取数据,创建一个包含两列的 CSV 文件:ID 和 Text。我想知道一种简单的方法(SQL、文本编辑器或 R 解决方案)为包含第二列(文本格式)的每一行创建一个文本文件,其中第一列的 ID 作为文本文件的名称。有任何想法吗?提前致谢。
【问题讨论】:
标签: mysql r csv text-files data-manipulation
在 R 中我会做以下事情:
for(i in 1:nrow(df)){
write.table(df$Text[i],
file = paste0(df$ID[i], ".txt"),
col.names = F, row.names = F)
}
list.files()
# [1] "1.txt" "10.txt" "11.txt" "12.txt" "13.txt" "14.txt" "15.txt" "16.txt"
# ----
# "76.txt" "77.txt" "78.txt" "79.txt" "8.txt" "80.txt" "81.txt" "82.txt" "9.txt"
【讨论】:
我根据@Ken S. 你所说的做了一个循环,但需要将 90,000 行转换为单个文件。 R 循环每分钟只能产生 5 个,这意味着需要几天才能完成。不过还是谢谢!
for (i in 1:91020) {number=descriptions[i,1]
text=descriptions[i,2]
print(text)
write.table(text,file=paste0(number, ".txt"))}
【讨论】: