1

我觉得奇怪的是,没有内置函数可以仅获取 excel 生成的 csv 文件的全部内容并将它们放在嵌套列表中,以便生成 2D 矩阵。

有什么理由不切实际/不标准吗?

我正在将我自己的 CSV 代码放在一起来做这件事,但我已经遇到了想要做一些简单的事情的烦人的障碍,比如写列而不是行等等。

有什么理由我应该考虑完全不同的方法吗?

理由是在 PyQt 中使用网格非常简单,而且似乎同一种设计可以无缝转换为读取和编写简单的电子表格,即:

name , myname
age , myage
xvals, yvals
1,1
2,4
3,9

变成

[[name,myname],[age,myage],[xvals,yvals],[1,1],[2,4],[3,9]]
4

2 回答 2

2

看看 Numpy 及其 loadtxt 函数。它完全符合您的要求:

http://docs.scipy.org/doc/numpy/reference/generated/numpy.loadtxt.html

对于写作,您可以使用 savetxt 功能:

http://docs.scipy.org/doc/numpy/reference/generated/numpy.savetxt.html

还有直接从 Excel 文件读取的功能:

http://pypi.python.org/pypi/xlrd/

http://packages.python.org/openpyxl/

于 2012-08-03T16:07:48.680 回答
1

有一个用于 python 的 csv 文件的内置函数。下面的代码行完全符合您的要求。

import csv
with open('some.csv', 'rb') as f:
    reader = csv.reader(f)
    for row in reader:
        print row

或者更好地感谢 JF Sebastian

import csv
with open('some.csv', 'rb') as f:
    a2d=list(csv.reader(f))

示例 csv 文件:

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

输出:

[['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9']]

来源

于 2012-08-03T16:11:49.647 回答