我有一个大数据txt文件,其中包含python中的10^6个单列数据。
我需要读取输入数据文件并将其溢出到100个输入文件。并制作目录并将每个数据集发送到相应的目录。(文件夹中的每个文件(
我知道如何将数据文件分为100个文件,并且知道如何制作文件夹。
,但我的问题是如何解决该目录中要编写的每个数据集创建的新文件夹。用更好的言语,我有一个循环,将大数据文件拆分,在每个循环中同时创建目录,我应该如何解决创建的数据集创建的文件。我将代码放在这里,建议我如果有任何更好的方法写它。
import os
def createfolder(directory):
try :
if not os.path.exists(directory):
os.makedirs(directory)
except OSError:
print('Error: creating directory.' + directory)
return
def splitfiles():
input = open('data.txt','r').read().split('n')
i=1
splitlength = int(len(input)/100)
for lines in range(0,len(input),splitlength):
print(i)
outputdata= input[lines:lines+splitlength]
createfolder('./Splitted files/')
output = open('data'+str(i)+ '.txt', 'w')
output.write('n'.join(outputdata))
output.close()
i+=1
print("Completed!")
return
if __name__ == "__main__":
splitfiles()
如果您想要100个文件夹和包含文件的每个文件夹,为什么不像使用文件一样在名称中使用i创建文件夹?
import os
def createfolder(directory):
try :
if not os.path.exists(directory):
os.makedirs(directory)
except OSError:
print('Error: creating directory.' + directory)
return
def splitfiles():
input = open('data.txt','r').read().split('n')
i=1
splitlength = int(len(input)/100)
for lines in range(0,len(input),splitlength):
print(i)
outputdata= input[lines:lines+splitlength]
createfolder(os.path.join('./Splitted files',str(i)))
output = open(os.path.join('./Splitted files',str(i),'data'+str(i)+ '.txt'), 'w')
output.write('n'.join(outputdata))
output.close()
i+=1
print("Completed!")
return
if __name__ == "__main__":
splitfiles()