我很难将整数写入文件。这是我的情况。我有一个文件,我们称之为“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)。这里到底发生了什么,为什么将整数写入文件是一项如此复杂的任务?我从这里找到了字符串格式化的想法:如何将整数写入文件,但它并没有解决我的问题。