我有两个带有数字的文本文件,我想做一些非常简单的计算(现在)。我虽然会选择Python。我有两个文件文件的两个文件阅读器:
with open('one.txt', 'r') as one:
one_txt = one.readline()
print(one_txt)
with open('two.txt', 'r') as two:
two_txt = two.readline()
print(two_txt)
现在为了乐趣(对我来说很难)部分。我想循环遍历第二个文本文件中的所有数字,然后用第一个文本文件中的第二个数字减去它。
我已经完成了这项工作(扩展了以上编码):
with open('two.txt') as two_txt:
for line in two_txt:
print line;
我现在不知道如何继续,因为我认为第二个文本文件需要转换为字符串才能进行一些解析,以便得到我想要的数字。文本文件(two.txt)如下所示:
Start,End
2432009028,2432009184,
2432065385,2432066027,
2432115011,2432115211,
2432165329,2432165433,
2432216134,2432216289,
2432266528,2432266667,
我想通过这个循环,忽略Start,End(第一行)然后一旦它循环只选择每个逗号前的第一个值,结果将是:
2432009028
2432065385
2432115011
2432165329
2432216134
2432266528
然后我将使用one.txt中的第二个值减去(仅包含数字而不包含任何字符串)并打印结果。
有许多方法可以进行字符串操作,我感到迷茫,例如,我不知道读取内存中的所有内容的方法是否良好。
非常感谢有关如何解决此问题的任何示例(我对不同的解决方案持开放态度)!
编辑:忘记指出,one.txt包含没有任何逗号的值,如下所示:
102582
205335
350365
133565
答案 0 :(得分:1)
像这样的东西
with open('one.txt', 'r') as one, open('two.txt', 'r') as two:
next(two) # skip first line in two.txt
for line_one, line_two in zip(one, two):
one_a = int(split(line_one, ",")[0])
two_b = int(split(line_two, " ")[1])
print(one_a - two_b)
答案 1 :(得分:0)
试试这个:
onearray = []
file = open("one.txt", "r")
for line in file:
onearray.append(int(line.replace("\n", "")))
file.close()
twoarray = []
file = open("two.txt", "r")
for line in file:
if line != "Start,End\n":
twoarray.append(int(line.split(",")[0]))
file.close()
for i in range(0, len(onearray)):
print(twoarray[i] - onearray[i])
它应该做的工作!