从字符串中移除小数



我现在正在上python入门课程,我遇到了一些问题。

我有两个字符串格式:

a b c d e  
f g h i l

我需要从。txt文件中获得这些字符串,将它们转换为矩阵到垂直格式,像这样:

a f
b g
c h
d i
e l

并放入另一个.txt文件中,不使用numpy和pandas库。问题是,从这样的矩阵:

1 2 3 4 5 
6 7 8 9 10 

其中每个数字不一定是整数,我需要得到这个矩阵:

1 6
2 7
3 8 
4 9
5 10

现在我只能用小数来表示

1.0 6.0
2.0 7.0
3.0 8.0
4.0 9.0
5.0 10.0

所以,从我的POW,我需要以某种方式从最终结果中删除。0,但我知道如何从字符串中删除小数,由浮点数组成。

下面是我的代码:
with open('input.txt') as f:
Matrix = [list(map(float, row.split())) for row in f.readlines()]
TrMatrix=[[Matrix[j][i] for j in range(len(Matrix))] for i in range(len(Matrix[0]))]
file=open('output.txt','w')
for i in range(len(TrMatrix)):
print(*TrMatrix[i],file=file)

这是我了解你的问题的解决方案

with open('input.txt') as f:
cols = []
for row in f.readlines():
col = [int(float(i)) for i in row.split()]
cols.append(col)
new_rows = []
for i in range(len(cols[0])):
new_rows.append(' '.join([str(col[i]) for col in cols]))
Tr_matrix = 'n'.join(new_rows)
with open('output.txt','w') as file:
file.write(Tr_matrix)
print(Tr_matrix)

输入:

1 2 3 4.6 5.4 
6 7 8 9 10 

输出:

1 6
2 7
3 8
4 9
5 10

将float改为int。Float包含小数。

相关内容

  • 没有找到相关文章

最新更新