繁体   English   中英

嵌套列表并保存到文本文件中

[英]Nested lists and saving into a text file

我有一个包含字符串和整数的嵌套列表,我试图将其保存到 txt 文件中,但我在格式化时遇到了问题。

array = [(string1, int1),(string2, int2),(string3, int3),...(string_n, int_n)]
with open("output.txt", "w") as f:
    f.write(repr(array))

并按原样保存数组。

如何格式化 output 以便格式如下而不是数组?

string1 int1
string2 int2
.
.
.
string_n int_n

这可能是一个非常新手的问题,但我找不到与搜索类似的东西......

for s, i in array:
    f.write('{} {}\n'.format(s, i))

如果write包含换行符,我就记不清了,但是我敢肯定它没有。

使用以下内容:

array = [('s1', 1),('s2', 2)]

with open('out.txt', 'w') as f:
    for item in array:
        f.write('{} {}\n'.format(*item))

输出:

s1 1
s2 2

您可以改用join

for sub_array in array:
     f.write(' '.join(sub_array))

这将适用于任意长度的数组。

如果您有列表列表而不是混合类型数组,那么在使用连接之前,您需要将元素强制转换为字符串(如@Blckknght所指出)。

这可能看起来像这样

for sub_array in array:
     f.write(' '.join(map(str,sub_array)))

您可以使用 numpy savetxt 方法:

import numpy as np 
np.savetxt("output.txt", array, fmt="%s", encoding="utf-8")

暂无
暂无

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

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