2012-11-03 135 views
1

我是Python新手。我的文件包含这些数字:从文件中读取数字并将其放入二维列表中

2,3 
4,5 
7,8 
-4,3 

如何读取此文件并将其转换为二维列表,以便可以计算区域?

+0

您尝试过哪些方法无效?请展示一些努力。我们不是在这里为你写代码。 – Mischa

+0

在SO中搜索'[python] csv'得到你很多相关的SO问题。 –

回答

3

是这样的:

>>> with open("data1.txt") as f: 
... lis=[list(map(int,x.split(","))) for x in f] 
... print lis 
... 
[[2, 3], [4, 5], [7, 8], [-4, 3]] 
+1

这些数字有多行, OP没有格式化文本。 – DSM

+0

@DSM谢谢,解决方案已更新。 –

1

不用手动解析文件,你也可以使用csv模块来做到这一点。一个小例子:

import csv 
with open('data1.txt', 'rb') as csvfile: 
    spamreader = csv.reader(csvfile, delimiter=',') 

twod_list = [row for row in spamreader] 

另外,如果你想开始numpy工作(如果你想认真做计算你想要的),看看this SO question如何读取数据到一个numpy阵列。以下代码是我从相关问题中复制而来的:

from numpy import genfromtxt 
my_data = genfromtxt('data1.txt', delimiter = ',') 
相关问题