Python 获取原始数据,函数raw_data()
类似于第3章的例子,但有一些重要的变化。该应用程序中用到了如下内容:
函数raw_data()
会打开本地数据文件,并利用row_iter()
函数将解析后的文件的每一行返回单独的项目行中。上面运用head_map_filter()
函数删除了文件的头部,结果创建了一个列表元组结构,并将其赋给data
变量,这可以将输入解析为有用的结构。生成的结构是NamedTuple
的子类Pair
的一个实例,且其中两个字段的类型提示为float
。
上面使用字典推导式构建了从id_str
到由series()
函数结果组合配对的映射。函数series()
从输入文档中提取 (x,y)
对。文档中的每个序列都在两个相邻的列中。名为I
的序列在第0列和第1列,函数series()
从中提取相关列对。
创建的函数pairs()
是匿名函数对象,因为它是带有单个参数的小型生成器函数。该函数根据series()
函数创建的匿名元组序列构建所需的NamedTuple
对象。
由于raw_data()
函数的输出是映射,因此通过名称选取某个特定的序列,示例如下:
给定一个键,例如I
,该序列是一个Pair
对象的列表,且该序列中的每一项都具有x
值和y
值。