【发布时间】:2015-10-18 21:30:43
【问题描述】:
我有一个函数:
def readCSVfile(str1):
此函数获取用户选择并读取的 CSV 文件。 每个文件都包含一个列表,如下所示:
[[1, 1, 2.2, 1.3, 9.6], [1, 2, 2.1, 2.2, 7.6], [1, 3, 2.7, 1.5, 2.2], [2, 1, 3.0, 4.5, 1.5], [2, 2, 3.1, 3.1, 4.0], [2, 3, 2.5, 2.8, 3.0], [3, 1, 1.9, 1.8, 4.5], [3, 2, 1.1, 0.5, 2.3], [3, 3, 3.5, 2.0, 7.5], [4, 1, 2.9, 2.7, 3.2], [4, 2, 4.5, 4.8, 6.5], [4, 3, 1.2, 1.8, 2.7]]
现在,在用户选择了一个文件之后,工作是让程序从我的程序生成的每个列表中打印出一些计算,但我被卡住了。 例如,我想将每个列表中的第三个和第四个数字相乘,我该如何指定?
尝试做类似的事情
readCSVfile(str1)[2]
不工作。 我已经疯狂地用谷歌搜索了
【问题讨论】:
-
正如您的函数所建议的那样,您似乎将数据作为字符串/缓冲区读取,这不是有效的 python list 可以这么说,尝试将它们转换为 python 列表, 然后再试一次。如果您只对子列表的每个倍数的结果感兴趣,只需使用列表推导即可。
-
import ast ast.literal_eval('["A","B" ,"C" ,"D"]')