python - 在python中将字符串值拆分为整数
问题描述
我这里有一些不同的号码。它每次都在变化。我需要创建一个像
array[x][y]
=>这样的多维数组,x
应该包含之前拆分的值,,
并且y
应该包含' '
空。
我怎样才能做到这一点 ?谢谢你。
dat.xyz
2,3,4,5,6,7,8,9 2,3,4,5,6,7,8,9 2,3,4,5,6,7,8,9 2,3,4,5,6,7,8,9
output = open('dat.xyz', 'r') # See the r
output_list = output.read().strip().split(',')
我以前可以找到数字,,
但它只显示在一行中。但是,我想做那个多维的。它应该拆分维度以查看 empty ' '
。谢谢你。
输出应如下
[[2, 3, 4, 5, 6, 7, 8, 9],
[2, 3, 4, 5, 6, 7, 8, 9],
[2, 3, 4, 5, 6, 7, 8, 9],
[2, 3, 4, 5, 6, 7, 8, 9]]
解决方案
您应该首先拆分空格以获取行,然后迭代这些行以获取单元格:
>>> rows = "2,3,4,5,6,7,8,9 2,3,4,5,6,7,8,9 2,3,4,5,6,7,8,9 2,3,4,5,6,7,8,9".split(' ')
>>> rows
['2,3,4,5,6,7,8,9', '2,3,4,5,6,7,8,9', '2,3,4,5,6,7,8,9', '2,3,4,5,6,7,8,9']
>>> [row.split(',') for row in rows]
[['2', '3', '4', '5', '6', '7', '8', '9'], ['2', '3', '4', '5', '6', '7', '8', '9'], ['2', '3', '4', '5', '6', '7', '8', '9'], ['2', '3', '4', '5', '6', '7', '8', '9']]
您还可以将这些单元格转换为整数:
>>> [[int(cell) for cell in row.split(',')] for row in rows]
[[2, 3, 4, 5, 6, 7, 8, 9], [2, 3, 4, 5, 6, 7, 8, 9], [2, 3, 4, 5, 6, 7, 8, 9], [2, 3, 4, 5, 6, 7, 8, 9]]
或让numpy
您进行转换:
>>> import numpy as np
>>> np.array([row.split(',') for row in rows], np.int)
array([[2, 3, 4, 5, 6, 7, 8, 9],
[2, 3, 4, 5, 6, 7, 8, 9],
[2, 3, 4, 5, 6, 7, 8, 9],
[2, 3, 4, 5, 6, 7, 8, 9]])
推荐阅读
- python - 我可以按距头部的距离水平对齐 pydot 图吗?
- python - 如何在 GPU 上并行运行一个简单的 for 循环
- c# - iPhone Swift gRPC 客户端从 Windows C# gRPC 服务器获取“连接被拒绝”
- azure-api-management - 我可以将所需的 QueryString 参数作为 QueryString 参数而不是 APIM 中的模板参数导入吗?
- node.js - 剧作家无法填写输入
- amazon-web-services - Boto3 中 client.get_products 函数的可用过滤器
- java - grails 4.x:使用自定义环境创建 WAR 始终在开发中运行
- javascript - 复制文本按钮不起作用,我一直在说空白不是功能
- python-xarray - 使用 xarray 读取授权的 opendap url
- c# - CsvHelper 版本 22.1.2 默认 TypeConverter 用于特定类型的属性