我想转换一个包含一列数字(多个数字)的文件,如:
1
2
3
...
i
到一维列表,例如[1, 2, 3, ...i]
任何帮助将不胜感激。
由于
答案 0 :(得分:1)
只需读取文件的行,删除结尾的换行符,然后转换为整数:
with open('text.txt') as text:
data = [int(i.strip()) for i in text if i != '\n']
答案 1 :(得分:1)
with open('text.txt', 'r') as file:
nums = file.readlines()
nums = [i.rstrip('\n') for i in nums]
第二行是确保在打印nums
时从列表元素中排除换行符。
如果您的文件包含空格,您还需要添加此行以从最终列表中排除空字符串:
nums = [int(i) for i in nums if i]
如果你需要将列表元素乘以一个因子,比如0.7,你可以像这样重写最后一行:
nums = [int(i) * 0.7 for i in nums if i]
答案 2 :(得分:-1)
啊,我已经通过在前面添加浮动来修复它。所以代码现在看起来像这样:
with open('freq.dat', 'r') as file:
File = file.readlines()
nums = np.array(File)
nums = [i for i in nums if i]
nums = [float(i.rstrip('\n')) for i in nums]
print nums
np.savetxt('freqline.dat', nums)
如何将数字乘以特定值的任何提示都可以说0.7。它现在打印麻木[1,2,3 ...],但在保存的文本中它们仍然是列格式。有任何建议如何改变吗?