您好我想将csv文件的列a与同一csv文件的b列进行比较,如下所示:
column a:
8,67,55,32,44,70,9,10,79,21
column b:
22, 45, 6, 22, 3, 22, 6, 7,22,5
我希望用户输入一个数字,让我们说:'8'inin rawinput命令。然后在其他库(b)中搜索对应于8的数字。这应该给出22.一旦获得22,我希望列出/显示对应于列b中的数量22的所有其他数量的列(a)。请帮助我解决这个问题?
答案 0 :(得分:1)
我会为输入数据创建一个字典(让我们称之为dictA),其中键是列数字和值列b。
我还会创建第二个字典(dictB),其中键是列b编号,值是列a中相应值的列表。
因此,对于您给出的示例,用户将输入8,将在dictA中查找,并且将找到22。 然后在dictB中查找22,在dictB中22的值是[8,32,79]。但是如果你认为合适,请返回该列表。
这都假设列a中的值是唯一的。
答案 1 :(得分:1)
一些可能对您有用的函数(从python官方文档中选择):
raw_input([prompt])如果出现提示参数,则写入 到没有尾随换行符的标准输出。然后该功能读取 输入行,将其转换为字符串(剥离尾随 换行),并返回。
str.split([sep [,maxsplit]])返回单词列表 string,使用sep作为分隔符字符串。
list.index(x)在第一个项目列表中返回索引 值是x。如果没有这样的项目,则会出错。
此外,如果你正在对你的数值做任何其他事情,那么输入它们可能是有用的:
int([x [,base]])将字符串或数字转换为普通整数。如果 参数是一个字符串,它必须包含一个可能带符号的十进制数 数字可表示为Python整数,可能嵌入 空格。
您也可以使用列表理解,例如:
>>> my_str_vals = ['20', '42', '14.2', '808.0']
>>> my_floats = [float(val) for val in my_str_vals]
>>> my_str_vals[2]
'14.2'
>>> my_floats[2]
14.2