我想用python为Square编写一个程序,并从csv文件中获取输入

我想用python为Square编写一个程序,并从csv文件中获取输入,python,csv,Python,Csv,当我试图运行这段代码时,我遇到了以下错误 Traceback (most recent call last): File "txt_square.py", line 7, in <module>`enter code here` sqr = [elem **2 for elem in sqr_lst] TypeError: unsupported operand type(s) for ** or pow(): 'list' and 'int' import

当我试图运行这段代码时,我遇到了以下错误

Traceback (most recent call last):
   File "txt_square.py", line 7, in <module>`enter code here`  
   sqr = [elem **2 for elem in sqr_lst]
   TypeError: unsupported operand type(s) for ** or pow(): 'list' and 'int'

import csv
import math

with open('/home/amankumar/test.csv', 'rb') as fl:
    reader = csv.reader(fl)
    sqr_lst = list(reader)
    sqr = [elem **2 for elem in sqr_lst]
print sqr
回溯(最近一次呼叫最后一次):
文件“txt_square.py”,第7行,“在此处输入代码”
sqr=[元素**2表示sqr中的元素]
TypeError:不支持**或pow()的操作数类型:'list'和'int'
导入csv
输入数学
将open('/home/amankumar/test.csv',rb')作为fl:
读卡器=csv。读卡器(fl)
sqr_lst=列表(读卡器)
sqr=[元素**2表示sqr中的元素]
打印sqr

一个csv阅读器对象包含作为项目列表的行,并且正如错误所说,您不能将
**
操作数用于列表和整数。如果要在项目之间执行此操作,则需要在行上循环

您可以向我们提供一份清单:


然后,结果将是所有项的sqr的嵌套列表(每个嵌套列表都是一行)

csv读取器对象包含作为项列表的行,并且正如错误所述,不能对列表和整数使用
**
操作数。如果要在项目之间执行此操作,则需要在行上循环

您可以向我们提供一份清单:


然后,结果将是所有项的sqr的嵌套列表(每个嵌套列表都是一行)

csv读取器对象包含作为项列表的行,并且正如错误所述,不能对列表和整数使用
**
操作数。如果要在项目之间执行此操作,则需要在行上循环

您可以向我们提供一份清单:


然后,结果将是所有项的sqr的嵌套列表(每个嵌套列表都是一行)

csv读取器对象包含作为项列表的行,并且正如错误所述,不能对列表和整数使用
**
操作数。如果要在项目之间执行此操作,则需要在行上循环

您可以向我们提供一份清单:


然后结果将是所有项目的sqr嵌套列表(每个嵌套列表都是一行)

实际上这里发生了什么

如果您在reader上迭代(在代码中),这将返回str列表,如下所示:-

[5'],[6'],[7'],[8'],[9'],[1'],[2'],[3'],[4']

因此,您可以简单地使用这组代码
[int(i[0])**2表示读取器中的i]


或者,您可以在列表理解中应用所需的任何检查。

实际上这里发生了什么

如果您在reader上迭代(在代码中),这将返回str列表,如下所示:-

[5'],[6'],[7'],[8'],[9'],[1'],[2'],[3'],[4']

因此,您可以简单地使用这组代码
[int(i[0])**2表示读取器中的i]


或者,您可以在列表理解中应用所需的任何检查。

实际上这里发生了什么

如果您在reader上迭代(在代码中),这将返回str列表,如下所示:-

[5'],[6'],[7'],[8'],[9'],[1'],[2'],[3'],[4']

因此,您可以简单地使用这组代码
[int(i[0])**2表示读取器中的i]


或者,您可以在列表理解中应用所需的任何检查。

实际上这里发生了什么

如果您在reader上迭代(在代码中),这将返回str列表,如下所示:-

[5'],[6'],[7'],[8'],[9'],[1'],[2'],[3'],[4']

因此,您可以简单地使用这组代码
[int(i[0])**2表示读取器中的i]


或者,您可以在列表理解中应用任何您需要的检查。

如果您完全这样做,那么
sqr
将只是最后一行的平方。@tobias_k在这种情况下,OP应该在每次迭代中打印sqr或保存它们,但作为我建议的一种更具python风格的列表理解方式。如果您完全这样做,然后,
sqr
将只是最后一行的平方。@tobias_k在这种情况下,OP应该在每次迭代中打印sqr或保存它们,但我建议使用一种更具python风格的方式来理解列表。如果你完全这样做,然后,
sqr
将只是最后一行的平方。@tobias_k在这种情况下,OP应该在每次迭代中打印sqr或保存它们,但我建议使用一种更具python风格的方式来理解列表。如果你完全这样做,然后,
sqr
将只是最后一行的平方。@tobias_k在这种情况下,OP应该在每次迭代中打印sqr或保存它们,但我建议使用一种更具python风格的方式来理解列表。
sqrs = [[i **2 for for i in elem] for elem in sqr_lst ]