我遇到从列表转换为.txt文件的问题。 我必须将Nx4数组保存到没有方括号的文本文件中,而不更改顺序和行。 我的代码是:
for n,en in enumerate(var_4):
stats.append(str([var_1,var_2[n],var3[n],en]))
我应该编写什么写命令来获取如下文本文件:
var_1 , var_2[0] , var_3[0] , var_4[0]
var_1 , var_2[1] , var_3[1] , var_4[1]
...
var_1 , var_2[N] , var_3[N] , var_4[N]
答案 0 :(得分:5)
s = ", ".join(list)
将字符串列表加入到带有“,”作为分隔符
的字符串中s = ", ".join(map(str, list))
如果列表的元素不是字符串,将起作用
o.write(s +"\n")
将写入结果并在写入字符串后添加新行
答案 1 :(得分:1)
您正在将列表转换为字符串,这将使用括号和逗号为您提供列表的人类可读表示。
相反,您可以遍历列表并将项目单独转换为字符串。您可以使用生成器执行此操作:
with open("list.txt", "a") as f:
for item in strings:
f.write(item + "\n")
然后您可以将字符串写入文本文件,例如:
"a"
with open("list.txt", "a") as f:
for item in mylist:
f.write(str(item) + "\n")
表示您以附加模式打开文件,而不是每次都覆盖其内容。
或者只是遍历列表并在迭代时将项目直接转换为字符串:
{{1}}
答案 2 :(得分:0)
感谢这两个答案。需要两者的组合才能获得所需的结果。解决方案是:
with open('list.txt','a') as f:
for l,el in enumerate(stats):
string = ', '.join(map(str,el))
for item in string:
f.write(item)
f.write('\n')
再次感谢,你给我省了很多麻烦!