Python - 从文本文件中读取逗号分隔值,然后将结果输出到文本文件

use*_*403 3 python csv loops

基本上我需要创建一个程序,它将添加从逗号分隔的文本文件中读取的数字.即

file.txt的

1,2,3

4,5,6

7,8,9

到目前为止,我有简单的代码

x = 1
y = 2
z = 3

sum=x+y+z

print(sum)
Run Code Online (Sandbox Code Playgroud)

我不确定如何将文本文件中的每个数字分配给x,y,z.

我想要的是它将迭代文本文件中的每一行,这将是一个简单的循环.

但是我也不知道如何将结果输出到另一个文本文件.即answers.txt

6

15

24

非常感谢.

Edu*_*eMe 12

欢迎来到StackOverflow!

你有正确的想法,让我们从打开一些文件开始.

with open("text.txt", "r") as filestream:
    with open("answers.txt", "w") as filestreamtwo:
Run Code Online (Sandbox Code Playgroud)

在这里,我们打开了两个文件流"text.txt"和"answers.txt".

由于我们使用"with",这些文件流将在它们下面的空白代码完成运行后自动关闭.

现在,让我们逐行浏览文件"text.txt".

for line in filestream:
Run Code Online (Sandbox Code Playgroud)

这将运行for循环并在文件末尾结束.

接下来,我们需要将输入文本更改为我们可以使用的内容,例如数组!

currentline = line.split(",")
Run Code Online (Sandbox Code Playgroud)

现在,"currentline"包含"text.txt"第一行中列出的所有整数.

让我们总结一下这些整数.

total = str(int(currentline[0]) + int(currentline[1]) + int(currentline [2])) + "\n"
Run Code Online (Sandbox Code Playgroud)

我们必须在"currentline"数组中的每个元素周围包装int函数.否则,我们将串联字符串而不是添加整数!

之后,我们添加回车符"\n",以使"answers.txt"更清楚地理解.

filestreamtwo.write(total)
Run Code Online (Sandbox Code Playgroud)

现在,我们正在写文件"answers.txt"......就是这样!你完成了!

这是代码:

with open("test.txt", "r") as filestream:
    with open("answers.txt", "w") as filestreamtwo:
        for line in filestream:
            currentline = line.split(",")
            total = str(int(currentline[0]) + int(currentline[1]) + int(currentline [2])) + "\n"
            filestreamtwo.write(total)
Run Code Online (Sandbox Code Playgroud)

  • 也许@EducateMe没有写出最好的代码,但他的耐心和解释对于想要学习的初学者来说似乎很棒,而且我们需要像这样的耐心教育者. (2认同)