附加值不带逗号

时间:2016-12-12 05:43:08

标签: python

我正在尝试编写一个循环来编写一个文本文件,其值仅由空格分隔。由于某种原因,python在开头和结尾插入括号以及每个值之间的逗号。我尝试过加入和其他几种方法,但都没有成功。

Here is my code: 
import os
import numpy

os.chdir('/Users/DevEnv/Case_1')


try:
    os.remove('fparameters.txt')
except OSError:
    pass

n=50
N=50

tlength=1501  #set number of generations 



for x in range(0,n):
    A=[]
    for i in range(0,tlength):
        Aj=[]
        for v in range(0,N):
            mu_f, sigma_f = 1.5, 0.5  
            Aj.append(60+ numpy.random.lognormal(mu_f, sigma_f, size=None))     

        A.append(Aj)

    outFile = open('fparameters.txt','a')
    for item in A:
        outFile.write('%s ' %item)
    outFile.write('\n')
    outFile.close()

非常感谢您的帮助!!

1 个答案:

答案 0 :(得分:0)

A是一系列数字列表,因此item是一个数字列表:

for item in A:
    outFile.write('%s ' %item)

要从可迭代的字符串创建字符串,您可以使用str.join。但是,您有一个数字列表,因此您需要将每个数字转换为str()的字符串:

for item in A:
    outFile.write(' '.join(str(x) for x in item))

如果outFile.write('\n')确实没有缩进,并且您希望所有内容都在一行上,那么最好将数字列表列表展平为一个可迭代的字符串:

with open('fparameters.txt', 'a') as f:
    print(' '.join(str(x) for item in A for x in item), file=f)