简体   繁体   English

将每行中的多个列表写入 txt 文件

[英]write multiple lists in each line to txt file

I would like to write lines in a txt file with a multiple of input list.This is what I wrote to write line in my txt file:我想用多个输入列表在 txt 文件中写入行。这是我在 txt 文件中写入行的内容:

for line in pg:
for key,value in line.items():
    if key == 'name':
        name.append(value)
    elif key == 'age':
        age.append(value)
    elif key == 'address':
        address.append(value)

with open('sampel.list',mode='w') as f:
                      f.write('name:{n},age:{a},address:{d}\n'.format(n=name,a=age,d=address))

The output that I want is:我想要的 output 是:

name:paulina,age:19,address:NY
name:smith,age:15,address:AU
 .
 .
 .

But my output is但我的 output 是

name:[paulina,smith,...],age:[19,15,...],address:[NY,AU,...]

Given individual lists of values, you can use zip() to combine them and them loop over the result for each line:给定单独的值列表,您可以使用zip()将它们组合起来,然后它们循环遍历每一行的结果:

name = ['Joe', 'Tom', 'Sally']
age = [10, 12, 14]
address = ['1 main st', '2 main st', '3 main st']

with open('sampel.list',mode='w') as f:
    for n, a, d in zip(name, age, address):
        f.write(f'name:{n},age:{a},address:{d}\n')

This will result in a file like:这将产生如下文件:

name:Joe,age:10,address:1 main st
name:Tom,age:12,address:2 main st
name:Sally,age:14,address:3 main st

You need to iterate through your list and print values.您需要遍历您的列表并打印值。

for line in pg:
for key,value in line.items():
    if key == 'name':
        name.append(value)
    elif key == 'age':
        age.append(value)
    elif key == 'address':
        address.append(value)

with open('sampel.list',mode='w') as f:
    for i in range(len(name)):
        f.write('name:{n},age:{a},address:{d}\n'.format(n=name[i],a=age[i],d=address[i]))

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM