将整数写入文件

我很难将整数写出到文件中。这是我的情况。我有一个文件,我们称它为“ idlist.txt”。它具有多列并且相当长(10,000行),但是我只关心数据的第一列。


我正在使用以下方式将其加载到python中:


import numpy as np

FH = np.loadtxt('idlist.txt',delimiter=',',comments='#')


# Testing initial data type

print FH[0,0],type(FH[0,0])

>>> 85000370342.0 <type 'numpy.float64'>


# Converting to integers

F = [int(FH[i,0]) for i in range(len(FH))]

print F[0],type(F[0])

>>> 85000370342 <type 'long'>

如您所见,数据必须制成整数。我现在想做的是将此列表的条目写为另一个文件的第一列(实际上是整个文件中的唯一列),我们可以将其重命名为“ idonly.txt”。这是我要尝试的方法:


with open('idonly.txt','a') as f:

    for i in range(len(F)):

        f.write('%d\n' % (F[i]))

显然,这无法产生所需的输出-当我打开文件'idonly.txt'时,每个条目实际上都是一个浮点数(即-85000370342.0)。到底发生了什么,为什么将整数写入文件如此复杂的任务?我从这里找到了字符串格式化的想法:如何将整数写入文件,但这并不能解决我的问题。


holdtom
浏览 218回答 2
2回答

梵蒂冈之花

尝试使用:f.write('{}'.format(F[i]));
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python