将列表写入文本文件而不是新行python

时间:2015-03-17 20:52:33

标签: python list

我在写入文本文件时遇到问题。这是我的代码段。

ram_array= map(str, ram_value)
cpu_array= map(str, cpu_value)
iperf_ba_array= map(str, iperf_ba)
iperf_tr_array= map(str, iperf_tr)


#with open(ram, 'w') as f:
    #for s in ram_array:
        #f.write(s + '\n')

#with open(cpu,'w') as f:
    #for s in cpu_array:
        #f.write(s + '\n')

with open(iperf_b,'w') as f:
    for s in iperf_ba_array:
        f.write(s+'\n')
    f.close()   
with open(iperf_t,'w') as f:
    for s in iperf_tr_array:
        f.write(s+'\n')
    f.close()

ram和cpu都可以完美地工作,但是当写入iperf_ba和iperf_tr的文件时,它们总是出现如下:

[45947383.0, 47097609.0, 46576113.0, 47041787.0, 47297394.0]

而不是

1

2

3       

他们都是从全球名单中读取的。 cpu和ram具有逐个附加的值,但是否则它们看起来完全相同的预处理。

以下是他们的制作方式

filename= "iperfLog_2015_03_12_20:45:18_123_____tag_33120L06.csv"
write_location= self.tempLocation()
location=(str(write_location) + str(filename)); 


df = pd.read_csv(location, names=list('abcdefghi'))

transfer = df.h
transfer=transfer[~transfer.isnull()]#uses pandas to remove nan
transfer=transfer.tolist()

length= int(len(transfer))
extra= length-1

del transfer[extra]

bandwidth= df.i
bandwidth=bandwidth[~bandwidth.isnull()]
bandwidth=bandwidth.tolist()


del bandwidth[extra]

iperf_tran.append(transfer)
iperf_band.append(bandwidth)

1 个答案:

答案 0 :(得分:1)

[来自评论]

如果你想在列表中添加一个列表,你需要使用.extend(list) - 并且不用担心:我们有时会花费数小时调试/追逐优雅 - 愚蠢的错误; )