将列表中的项目写入不同的文件Python

时间:2018-11-01 18:43:34

标签: python python-3.x list

我可以将列表中的项目写入单个文件,例如:

with open('your_file.txt', 'w') as f:
    for item in all_news:
        f.write("%s\n" % item)

但是我如何将每个项目写到一个单独的文件中?

3 个答案:

答案 0 :(得分:1)

您没有为我们提供单个文件名的要求,但这是一个示例,其中为每个给定文件名使用了一个序号。

count = 0
for item in all_news:
    count += 1
    filename = '{}.txt'.format(count)
    with open(filename, 'w') as f_out:
        f.write('{}\n'.format(item))

答案 1 :(得分:1)

像这样吗?

all_news = ['a', 'b', 'c']

for item in all_news:
    # every file will get the item name
    # if there aren't repeated items
    with open(f'{item}.txt', 'w') as f:
        f.write("%s\n" % item)

如果列表中还有更多同名商品:

for count, item in enumerate(all_news, 1):
    # every file will get the the index as name
    with open(f'{count}.txt', 'w') as f:
        f.write("%s\n" % item)

答案 2 :(得分:-1)

您必须在列表的每个元素上打开一个新文件,并且需要一个计数器以确保文件名分开(或第二个列表)。

library(tibble); library(SparkR)

df <- tibble::tribble(
  ~var1, ~var2, ~maxofvar1var2,
  1L,    1L,    1L,
  2L,    1L,    2L,
  2L,    3L,    3L,
  NA,    2L,    2L,
  1L,    4L,    4L,
  8L,    5L,    8L)

df <- df %>% as.DataFrame()

这会将每个元素写入文件counter=0 for item in all_news: with open('your_file_'+str(counter)+'.txt', 'w') as f: f.write("%s\n" % item) counter = counter + 1 you_file_0.txt

(我只是在详细说明ShadowRanger在上面已经评论过的内容。)