如何将文件 csv 中的 str 转换为 int
How to convert str to int from a file csv
我正在使用 Python 进行训练,在练习中我应该打开一个文件 .csv 并找出文件中有多少次在加利福尼亚重复出现名称 "Max"("CA") 在 1950 年到 2000 年之间。这就是我所做的:
import csv
counter = 0
for line in file:
counter = counter + 1
line_splitted = line.strip().split(",")
if line_splitted[1] == "Max":
print(line_splitted)
输出的摘录(条目更多)是:
['17261', 'Max', '1965', 'M', 'AK', '6']
['20094', 'Max', '1983', 'M', 'AK', '5']
['20291', 'Max', '1984', 'M', 'AK', '5']
['20604', 'Max', '1986', 'M', 'AK', '10']
['20786', 'Max', '1987', 'M', 'AK', '10']
然后我写道:
if line_splitted[1] == "Max" and line_splitted[2] >= 1950 and line_splitted[2] <= 2000 and line_splitted[3] == "M" and line_splitted[4]== "CA":
print(line_splitted)
else:
continue
这是结果:
TypeError Traceback (most recent call last)
<ipython-input-53-d4b5d798cf33> in <module>
8 line_splitted = line.strip().split(",")
9 if line_splitted[1] == "Max":
---> 10 if line_splitted[1] == "Max" and line_splitted[2] >= 1950 and line_splitted[2] <= 2000 and line_splitted[3] == "M" and line_splitted[4]== "CA":
11 print(line_splitted)
12
TypeError: '>=' not supported between instances of 'str' and 'int'
我知道我应该告诉 Python 将索引 2 上的条目转换为整数,但我不知道该怎么做 it.Moreover 我怀疑我的解决方案太长了为了提取我需要的信息。非常感谢您提出任何建议。
最简单的方法(对于您的示例)可能是与字符串进行比较:
and line_splitted[2] >= "1950"
这样您就不必先转换为整数。
只有当所有这些字符串的长度正好是 4 个字符时,这才有效。
我正在使用 Python 进行训练,在练习中我应该打开一个文件 .csv 并找出文件中有多少次在加利福尼亚重复出现名称 "Max"("CA") 在 1950 年到 2000 年之间。这就是我所做的:
import csv
counter = 0
for line in file:
counter = counter + 1
line_splitted = line.strip().split(",")
if line_splitted[1] == "Max":
print(line_splitted)
输出的摘录(条目更多)是:
['17261', 'Max', '1965', 'M', 'AK', '6']
['20094', 'Max', '1983', 'M', 'AK', '5']
['20291', 'Max', '1984', 'M', 'AK', '5']
['20604', 'Max', '1986', 'M', 'AK', '10']
['20786', 'Max', '1987', 'M', 'AK', '10']
然后我写道:
if line_splitted[1] == "Max" and line_splitted[2] >= 1950 and line_splitted[2] <= 2000 and line_splitted[3] == "M" and line_splitted[4]== "CA":
print(line_splitted)
else:
continue
这是结果:
TypeError Traceback (most recent call last)
<ipython-input-53-d4b5d798cf33> in <module>
8 line_splitted = line.strip().split(",")
9 if line_splitted[1] == "Max":
---> 10 if line_splitted[1] == "Max" and line_splitted[2] >= 1950 and line_splitted[2] <= 2000 and line_splitted[3] == "M" and line_splitted[4]== "CA":
11 print(line_splitted)
12
TypeError: '>=' not supported between instances of 'str' and 'int'
我知道我应该告诉 Python 将索引 2 上的条目转换为整数,但我不知道该怎么做 it.Moreover 我怀疑我的解决方案太长了为了提取我需要的信息。非常感谢您提出任何建议。
最简单的方法(对于您的示例)可能是与字符串进行比较:
and line_splitted[2] >= "1950"
这样您就不必先转换为整数。
只有当所有这些字符串的长度正好是 4 个字符时,这才有效。