循环遍历文件夹中的所有文件,并使用python将一个随机数附加到每个文件中的每一行

dzhpxtsq  于 2021-06-21  发布在  Pig
关注(0)|答案(4)|浏览(383)

我用pig生成一个输出。我想随机分配输出到2组。正如你们中的一些人所知,pig以part-m-00000或part-r-00000格式输出文件到一个文件夹中。我想遍历输出文件夹中的所有文件,并为每一行随机分配一个0或1。
我有作业代码部分:

  1. with open('part-r-00000','r') as csvinput:
  2. with open('output2.csv', 'w') as csvoutput:
  3. writer = csv.writer(csvoutput, lineterminator='\n')
  4. reader = csv.reader(csvinput)
  5. all = []
  6. for row in reader:
  7. row.append(randint(0,1))
  8. all.append(row)
  9. for row in reader:
  10. all.append(row)
  11. writer.writerows(all)

这绝对管用。我还有示例输入和输出:

  1. Sample input:
  2. 0,1,2,1,4,3,3,4,1,1
  3. 2,3,4,1,0,0,1,2,1,1
  4. 0,2,3,1,0,2,3,1,1,1
  5. Sample output:
  6. 0,1,2,1,4,3,3,4,1,1,0
  7. 2,3,4,1,0,0,1,2,1,1,0
  8. 0,2,3,1,0,2,3,1,1,1,1

但是,我需要找出文件夹中有多少个文件,并在每个文件中添加另一个循环。我该怎么做?

bmvo0sr5

bmvo0sr51#

  1. import os
  2. for f in os.listdir('/path/to/directory'):
  3. # do something with f
8i9zcol2

8i9zcol22#

如果希望它与子目录一起工作:

  1. for subdir, dirs, files in os.walk(root):
  2. for file in files:
  3. # subdir+'/'+file would be the name of each file

编辑:根目录将是保存这些文件的文件夹的完整路径
用python遍历目录

n3schb8v

n3schb8v3#

你可以迭代所有的文件( os.listdir )在当前目录中( os.getcwd ):

  1. import os
  2. for filename in os.listdir(os.getcwd()):
  3. # do your stuff
1cklez4t

1cklez4t4#

你可以用 os.listdir() 列出当前目录中的所有文件,或者如果要扫描单独的目录,可以选择包含路径。然后可以遍历文件列表:

  1. import os
  2. filelist = os.listdir()
  3. for file in filelist:
  4. # do your stuff

相关问题