如何用Python内置库将CSV文件数据转为一维浮点列表
用Python内置方法将data.csv导入为一维浮点列表
现有data.csv文件内容如下:
142.52 114.28 126.26 152.39 144.66 85.77 125.67 102.87 103.86 114.50 1 108.98 136.10 121.75 108.52 115.19 112.91 136.93 101.75 112.48 88.32 2 53.15 119.53 123.89 90.64 152.98 75.89 106.95 102.13 137.73 136.42 3 109.21 113.83 87.62 65.00 98.80 109.24 131.47 130.89 97.98 99.74 4 84.29 76.61 70.68 146.38 95.45 96.93 80.07 122.09 72.59 101.60 5 87.46 114.01 95.43 81.56 105.42 114.87 107.38 112.26 92.87 98.49 6 92.08 98.56 89.17 70.27 109.67 97.68 72.25 115.58 87.22 107.08 7 121.09 108.67 129.59 80.44 114.33 91.82 87.97 94.02 99.55 107.16 8 81.88 124.65 115.64 74.20 136.81 145.24 130.40 102.28 83.84 127.83 9 97.65 131.30 110.31 126.22 113.38 120.63 106.22 142.97 108.63 114.32
要求仅使用Python内置方法(如字符串方法split()、strip(),列表方法append())实现数据导入,最终得到包含所有浮点值的一维列表,格式示例如下:
[142.52, 114.28, 126.26, 152.39, 144.66, 85.77, 125.67, 102.87, ...]
解决方案代码
# 初始化空列表存储结果 result = [] # 打开文件并逐行读取 with open('data.csv', 'r') as file: for line in file: # 去除行首尾空白字符,按任意空白分割成字符串列表 elements = line.strip().split() # 遍历每个元素,转换为浮点型后添加到结果列表 for elem in elements: result.append(float(elem)) # 打印结果(可根据需要调整输出方式) print(result)
代码说明
- 使用
with open()上下文管理器打开文件,自动处理文件关闭,避免资源泄漏。 - 逐行读取文件内容,通过
strip()去除每行首尾的空白(包括换行符、空格),再用split()按任意数量的空白字符分割,得到该行所有数值的字符串形式。 - 遍历每个字符串元素,用
float()转换为浮点型,再通过append()添加到结果列表中。 - 最终
result即为包含所有浮点值的一维列表。
内容的提问来源于stack exchange,提问作者A B
相关产品推荐
相关产品推荐

