如何将列转换为行(Python)

时间:2015-03-26 23:07:24

标签: python

我想转换一个包含一列数字(多个数字)的文件,如:

1

2

3
...

i

到一维列表,例如[1, 2, 3, ...i] 任何帮助将不胜感激。

由于

3 个答案:

答案 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 ...],但在保存的文本中它们仍然是列格式。有任何建议如何改变吗?