如何在Python中将所有数据写入一列?

21 浏览
0 Comments

如何在Python中将所有数据写入一列?

这个问题在这里已经有了答案

如何以固定宽度打印字符串?

我有一个使用Python编写的程序,它会为每一行生成一些文本和一个数字。我想将它保存到文件中。以下是保存后以一定格式输出的示例:

some text            6.2
some other text            7.6
some other text here too            6.8
some text            8

可以看到,数字并没有在一列中。我在文本和数字之间使用了一些空格,但我想把所有数字放在一列中。我该怎么做?可以使用文件写入方法或其他方法吗?

编辑:

我想将这些数字放在一列中,并使用写入方法保存到文件中。如果我能使用print函数在屏幕上显示数据,那就很容易了,但我想保存到文件中。其他类似的帖子都是如何输出,而不是保存到文件中。

import json
import urllib.request as rq
def func():
    data=rq.urlopen('http://yts.to/api/v2/list_movies.json?quality=3d&limit=50')
    dataj=json.loads(data.read().decode())
    with open('yts.txt','w+') as f:
        f.write("Title                       Imdb rating\n")
        f.write("---------------------------------------\n")
        for i in range(len(dataj["data"]["movies"])):
            f.write(dataj["data"]["movies"][i]["title"]+'\t'+str(dataj["data"]["movies"][i]["rating"]))
            f.write("\n")
if __name__=="__main__":
    func()

admin 更改状态以发布 2023年5月23日
0
0 Comments

尝试在文本和数字之间放置一个或多个\t(制表符)而不是空格。 例如:some text\t6.2

0
0 Comments

如果标签是在运行时定义的,可能需要思考一下,或者使用我没有找到的漂亮打印工具,因为这对我来说不经常发生。一般来说,如果你使用制表符而不是空格,它将有助于将事物排成一行,但你必须确保所有的内容都是通过最长的标签进行缩进的。

0