首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将字符串从这种格式的文件转换为数字数组?

如何将字符串从这种格式的文件转换为数字数组?
EN

Stack Overflow用户
提问于 2018-12-14 05:13:01
回答 2查看 49关注 0票数 -2

我有一个这样的文本文件

.txt

代码语言:javascript
复制
1, 2, 3, 4, 5, 6, 7, 8, 9

我想把它看作python中的一个数组,这就是我到目前为止所知道的

python文件

代码语言:javascript
复制
file_board = open('index.txt')
board = file_board.read().split(',')
print board
print len(board)

输出

代码语言:javascript
复制
['[[1', ' 2', ' 3]', ' [4', ' 5', ' 6]', ' [7', ' 8', ' 9]]\n']
9
list index out of range

所以我想要做的是如何将其转换成一个二维数组进行操作

注意我想在没有任何外部库的情况下这样做,内置库就可以了

顺便说一句,我想把它写回一个新文件,格式为

代码语言:javascript
复制
1, 2, 3, 4, 5, 6, 7, 8, 9
EN

回答 2

Stack Overflow用户

发布于 2018-12-14 05:18:26

@dlink的答案是OK,但为了安全起见,您可能希望使用ast.literal_eval来防止安全问题:

代码语言:javascript
复制
import ast

file_board = open('index.txt')
board = ast.literal_eval(file_board.read())
print board
print len(board)
票数 1
EN

Stack Overflow用户

发布于 2018-12-14 05:16:51

代码语言:javascript
复制
str = '[[1, 2, 3], [4, 5, 6], [7, 8, 9]]'
data = eval(str)
for rec in data:
    print rec

输出

代码语言:javascript
复制
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]

如果你想要一个二维数组(你已经编辑了你的问题)。您可以使用正则表达式删除'‘和'’和空格。

代码语言:javascript
复制
import re
str2 = re.sub('[\[\] ]', '', str)
print str2

输出1,2,3,4,5,6,7,8,9

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53770144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档