我是Python的新手,我只是边走边学。在
我正在尝试从Excel文件导入数据到Python程序中。我需要能够在Python程序中而不是Excel中用这些数字进行简单的计算。代码现在是这样的:
import csv
with open ('vals.csv','rb') as csvfile:
reader = csv.reader(csvfile)
x = next(reader)
y = next(reader)
z = next(reader)
print x[0]+z[2]
print x[0]+1
第一个print语句应该是7(因为第一个x是3,第三个z是4)。相反,它会打印34,所以我假设它没有将值作为整数处理?在
第二个print语句导致此错误:
^{pr2}$基于此,我想它是将每一行作为字符串而不是整数来读取。我试着做下一件事,看看这是否能把它转换成整数:
x = next(reader)
x = int(x)
y = next(reader)
y = int(y)
z = next(reader)
z = int(z)
但它给了我一个错误:
TypeError: int() argument must be a string or a number, not 'list'
所以我猜它不是把它当作一根弦来读?在
我只想知道如何把它读成像x[0]这样的整数,这样我就可以用它来计算了。在
csv.reader
模块在每次迭代时生成一个字符串行的列表。在也就是说,即使每行只有一列,或者数据包含整数。在
要获取每行的整数列表,请在列表理解中执行:
或者因为它是python 2:
^{pr2}$然后使用
row1[2]
以整数形式访问行的第三个元素。在^{} 是与行中的列相对应的字符串的
lists
的iterable:如果所有值都可以转换为
^{pr2}$int
,则可以执行以下操作:否则,必须分别转换字段:
相关问题 更多 >
编程相关推荐