【发布时间】:2017-09-09 19:41:24
【问题描述】:
很抱歉问了一个以前被问过一百次的问题,我是 Python 新手,我找到的解决方案似乎都不能解决我的问题。
我有一个来自名为糖尿病的 csv 文件的嵌套列表,我在文件中读取并用逗号分隔这样的元素
for line in open("diabetes.csv"):
lst=line.strip().split(",")
print(lst)
打印出以下内容
['10', '101', '86', '37', '0', '45.6', '1.136', '38', '1']
['2', '108', '62', '32', '56', '25.2', '0.128', '21', '0']
['3', '122', '78', '0', '0', '23', '0.254', '40', '0']
现在我的问题是
- 我需要创建一个单独的列表,其中仅包含每个列表的第三个元素 (lst[2])
- 我需要将它转换成浮点数而不是字符串。
我正在使用 Python 3.6,我正在把头发拉出来。
【问题讨论】:
-
使用 CSV 阅读器,如
pandas或标准库csv模块。尽量避免重新发明轮子。 -
你可以在每个循环中在
col3 = []和col3.append(float(lst[2]))之外声明一个数组。虽然我同意使用标准的csv模块可能会更好,但自定义实现确实提供了更大的灵活性。
标签: python python-3.x csv