在python中添加字符串元素
我有一个文件,有两列数字。我想对每列的所有元素求和。我尝试使用以下方法拆分该文件:在python中添加字符串元素,python,string,Python,String,我有一个文件,有两列数字。我想对每列的所有元素求和。我尝试使用以下方法拆分该文件: for line in f: line=line.strip() tokens=line.split() 然后,我尝试使用以下方法将每个列标记[0]和标记[1]转换为整数: a=int(token[0]) print a 但我无法访问此列的每个元素。例如打印命令 印刷品 10 12 所以我不能选择这些值来求和 此外,我尝试使用print(type(a)==int),结果 true true 有办法解决这
for line in f:
line=line.strip()
tokens=line.split()
然后,我尝试使用以下方法将每个列标记[0]和标记[1]转换为整数:
a=int(token[0])
print a
但我无法访问此列的每个元素。例如打印命令
印刷品
10
12
所以我不能选择这些值来求和
此外,我尝试使用print(type(a)==int)
,结果
true
true
有办法解决这个问题吗?让我们从您展示的代码开始,修复明显的缩进错误,并添加明显缺失的行:
for line in f:
line=line.strip()
tokens=line.split()
a=int(tokens[0])
b=int(tokens[1])
此时,您有两个数字。这部分问题你已经解决了
如果你想用它们做点什么,你不能把它们打印出来,你必须……嗯,用它们。例如,可以将它们附加到列表中:
a_list, b_list = [], []
for line in f:
line=line.strip()
tokens=line.split()
a=int(tokens[0])
b=int(tokens[1])
a_list.append(a)
b_list.append(b)
print sum(a_list)
print sum(b_list)
…或只是将其添加到一些运行总计中:
a_total = b_total = 0
for line in f:
line=line.strip()
tokens=line.split()
a=int(tokens[0])
b=int(tokens[1])
a_total += a
b_total += b
print a_total
print b_total
…或者你想用他们做的任何事情。关键是,您必须决定要对它们执行什么操作,然后编写代码来执行。我使用numpy的genfromtxt例程执行了类似的操作:
import numpy as np
data = np.genfromtxt('inputfile.csv', delimiter=',')
sum1 = np.sum(data[:,0])
sum2 = np.sum(data[:,1])
请显示您的真实代码、真实输入和真实输出。Python不可能为
print a
打印10 12
。它不可能为任何东西打印true
。请看什么是有用的问题。这在这样的情况下尤其重要。假设文件中的第一行是,比如说,1012\n
,您的代码将a
设置为数字10
,并将自己打印出10
。所以,可能在其他一些代码中有一些错误,您没有向我们展示。(例如,也许你只是在做a=int(token[0])
,b=int(token[1])
,和打印a,b
,却不明白你实际上没有问题;a
和b
实际上是数字,你可以很好地添加到运行总数中。)我只是编辑了一下,让它更清楚。输出分别为10\n 12和true\n true我认为这不是您的输出。当您打印出true
值时,Python不会打印true
。为什么你不能复制粘贴,而不是试图从记忆中伪造它?代码也要这样做,这样我们就不必猜测缩进错误是否是问题的一部分。