我想搜索csv列并让我的脚本返回每个手机使用的总次数......这是我的代码,但我不确定问题是什么......
import arcpy
fc = "C:\Script\SAMPLES\SAMPLES.csv"
field = "phone"
iPhone = 0
Android = 0
other = 0
cursor = arcpy.SearchCursor(fc)
for row in cursor:
#print(row.getValue(field))
if row.getValue(field)=='iPhone':
iPhone = iPhone + str(iPhone)
print "The number of iPhones: " + iPhone
elif:
Android=Android + str(Android)
print "The number of Androids: " + Android
elif:
other=other + str(other)
print "The number of other: " + other
我还包括了我收到的错误。
Traceback (most recent call last):
File "C:\Python27\ArcGIS10.4\Lib\site- packages\pythonwin\pywin\framework\scriptutils.py", line 326, in RunScript
exec codeObject in __main__.__dict__
File "C:\Script\searchcursor.py", line 11, in <module>
iPhone = iPhone + str(iPhone)
TypeError: unsupported operand type(s) for +: 'int' and 'str'
答案 0 :(得分:0)
+:&#39; int&#39;不支持的操作数类型和&#39; str&#39;
这表示您(基本上)尝试一起添加数字和字母。 Python将0
(整数)和'0'
(字符串)视为不同,并且不能将它们添加到一起。由于您使用iPhone
(以及Android
和other
)作为计数器,因此您需要将两个整数相加。
我也不清楚你尝试添加到该计数器的内容。
iPhone = iPhone + int(iPhone)
如果iPhone = 0
,则该公式为iPhone = 0 + 0
。如果您已经计算了2部iPhone,那么该公式为iPhone = 2 + 2
- 您将该值加倍而不是递增。
你可能只想要:
iPhone = iPhone + 1
或(shorter)
iPhone += 1