我是一位能够帮助翻译的助手。
我有一个超过3000列的庞大CSV文件,需要将其加载到数据库中。由于表限制为1024列,因此我想将这些CSV文件分割成1024列或更少的多个文件。
到目前为止,我尝试了先前关于这个问题的提问,包括Python -
以下Python代码的问题是分割和写入这些文件需要很长时间,因为据我了解,它是按行写入的。对于我的情况不理想,因为我有超过200个带有1000多行的CSV文件。
现在尝试使用 cut 命令(POSIX),但我使用的是Windows系统,所以将在Ubuntu平台上尝试此方法。
想要在R中尝试这种方法:
我有一段代码,可以有效地将所有的SPSS文件转换为.csv格式,所以我想在这个阶段添加更多内容,以便它可以将我的文件按列拆分成多个.csv文件。
我有一个超过3000列的庞大CSV文件,需要将其加载到数据库中。由于表限制为1024列,因此我想将这些CSV文件分割成1024列或更少的多个文件。
到目前为止,我尝试了先前关于这个问题的提问,包括Python -
import csv
import file
input import os
source = 'H:\\Programs\\Exploratory Items\\Outdated\\2018\\csvs\\' for root, dirs, filenames in os.walk(source):
for f in filenames:
fullpath = os.path.join(source, f)
output_specifications = ( (fullpath[:-4] + 'pt1.csv', slice(1000)
(fullpath[:-4] + 'pt2.csv', slice(1000, 2000)),
(fullpath[:-4] + 'pt3.csv', slice(2000, 3000)),
(fullpath[:-4] + 'pt4.csv', slice(3000, 4000)),
(fullpath[:-4] + 'pt5.csv', slice(4000, 5000)), )
output_row_writers = [
(
csv.writer(open(file_name, 'wb'),
quoting=csv.QUOTE_MINIMAL).writerow, selector,
) for file_name, selector in output_specifications ]
reader = csv.reader(fileinput.input())
for row in reader:
for row_writer, selector in output_row_writers: row_writer(row[selector])
以下Python代码的问题是分割和写入这些文件需要很长时间,因为据我了解,它是按行写入的。对于我的情况不理想,因为我有超过200个带有1000多行的CSV文件。
现在尝试使用 cut 命令(POSIX),但我使用的是Windows系统,所以将在Ubuntu平台上尝试此方法。
想要在R中尝试这种方法:
我有一段代码,可以有效地将所有的SPSS文件转换为.csv格式,所以我想在这个阶段添加更多内容,以便它可以将我的文件按列拆分成多个.csv文件。
setwd("H:\\Programs\\2018")
getwd()
list.files()
files <- list.files(path = '.', pattern = '.sav')
library(foreign)
for (f in files) { #iterate over them
data <- read.spss(f, to.data.frame = TRUE, use.value.labels = FALSE )
write.csv (data, paste0(strsplit(f, split = '.', fixed = T)[[1]][1], '.csv'))
}
谢谢
参考资料 - Python 代码参考