在python中使用字符串读取两列数据,并修改一列

在python中使用字符串读取两列数据,并修改一列,python,multiple-columns,Python,Multiple Columns,我是python新手,这是我在stack exchange上的第一个问题。你能帮我做一下吗 假设我在一个文本文件中有以下列数据 red 0.01111 blue 0.96333 green 0.05112 我想将中的第二列数据修改为百分比。所以这应该显示为 red 1.111 % blue 96.333 % green 5.112 % 最后,我想将所有这些存储为一个变量'a' 所以当我在函数中返回a时,我会得到这个信息 非常感谢 为此,您可以使用fileinput import filein

我是python新手,这是我在stack exchange上的第一个问题。你能帮我做一下吗

假设我在一个文本文件中有以下列数据

red 0.01111
blue 0.96333
green 0.05112
我想将中的第二列数据修改为百分比。所以这应该显示为

red 1.111 %
blue 96.333 %
green 5.112 %
最后,我想将所有这些存储为一个变量'a'

所以当我在函数中返回a时,我会得到这个信息


非常感谢

为此,您可以使用fileinput

import fileinput
import sys

for line in fileinput.input(["a.txt"], inplace=True, backup='.bak'):
    if line !='/n':
        pre,post=line.split()
        sys.stdout.write(pre+' '+str(float(post)*100)+' %\n')
    else:
        sys.stdout.write(line)

before
red 0.01111
blue 0.96333
green 0.05112

after
red 1.111 %
blue 96.333 %
green 5.112 %

您的输出不一致。你在红线上掉了前导零,但却把它保留在绿线上。对不起,汤姆!我刚刚编辑过。我只是举了一个简单的例子来说明我的问题。欢迎使用堆栈溢出。请阅读并找出如何提出一个好的问题,从而得到好的、有用的答案。嗨,Sundar,谢谢你的帮助。如何将输出存储在变量中,以便稍后在函数中返回。