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

标签 python loops csv

<分区>

我需要创建一个程序来添加从以逗号分隔的文本文件中读取的数字。即

file.txt 中:

1,2,3
4,5,6
7,8,9

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

x = 1
y = 2
z = 3

sum = x + y + z

print(sum)

我不确定如何将文本文件中的每个数字分配给 xyz

我想要的是它将遍历文本文件中的每一行,这将使用一个简单的循环。

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

6
15
24

最佳答案

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

with open("text.txt", "r") as filestream:
    with open("answers.txt", "w") as filestreamtwo:

在这里,我们打开了两个文件流 - “text.txt”和“answers.txt”。

由于我们使用了 with,这些文件流将在它们下方缩进的代码完成运行后自动关闭。

现在,让我们逐行浏览“text.txt”文件:

for line in filestream:

这将运行一个 for 循环并在文件末尾结束。

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

currentline = line.split(",")

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

让我们总结这些整数:

total = str(int(currentline[0]) + int(currentline[1]) + int(currentline [2])) + "\n"

我们必须用 int 函数将每个元素包装在 currentline 中。否则,我们将连接字符串而不是添加整数!

之后,为了让“answers.txt”更清晰易懂,我们添加了回车“\n”

filestreamtwo.write(total)

现在,我们正在写入文件“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)

关于python - 如何从文本文件中读取逗号分隔值,然后将结果输出到文本文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21744804/

相关文章:

javascript - 如何在循环中处理异步 Node.js

postgresql - 如何从 csv 文件更新表?

javascript - Javascript 中的毕达哥拉斯三元组公式 - Project Euler Prob 9

mysql - 在 Ruby 中读取 CSV 的最佳方式。更快的CSV?

从 csv 中读取特定的(非连续的)行

java - 我怎样才能在java中实现zlib.compress

python - 将键值对添加到基于另一个列表 Python 的字典列表中

python - 条形图中的索引和排序问题

python - 如何下载适用于 Python 3.5.1 的 Pygame?

python - 通过在 Python 中循环行来连接