将CSV数据导入键为国家名、值为numpy.array的字典的代码问题求解
你的代码存在三个待调整的问题,修改后即可达到要求:
- 未清理每行末尾的换行符,导致最后一个数值末尾携带
\n - 拆分得到的数值默认是字符串类型,未转换为数值类型就直接生成numpy数组
- 主函数中文件名没有加引号,会被识别为未定义变量,同时不要用
list作为变量名,避免覆盖Python内置的list类型
修改后的代码如下:
import numpy as np def load_csv(filename): dictionary = {} with open(filename, 'r') as fp: for line in fp: # 先去除首尾空白、换行符,再拆分 line = line.strip() if not line: # 跳过空行 continue items = line.split(",") # 后面的元素转整数后生成numpy数组,需要浮点型把int换成float即可 dictionary[items[0]] = np.array(list(map(int, items[1:]))) return dictionary if __name__ == "__main__": filename = "average_income.csv" print(load_csv(filename))
内容的提问来源于stack exchange,提问作者Just another noob
相关产品推荐
相关产品推荐

