Python像浅网格一样编写和读取csv文档?

Python像浅网格一样编写和读取csv文档?,python,Python,我觉得奇怪的是,没有内置函数,只需获取excel生成的csv文件的全部内容,然后将它们放在嵌套列表中,这样它就可以生成二维矩阵 是否有任何理由认为这是不切实际/不符合标准的 我把我自己的CSV代码放在一起做这件事,但是我已经遇到了一些恼人的障碍,想做一些简单的事情,比如写列而不是行等等 是否有任何理由我应该考虑完全不同的方法? 其基本原理是,在PyQt中使用网格非常简单,似乎同样的设计可以无缝地转换为阅读和编写简单的电子表格,即: name , myname age , myage xvals,

我觉得奇怪的是,没有内置函数,只需获取excel生成的csv文件的全部内容,然后将它们放在嵌套列表中,这样它就可以生成二维矩阵

是否有任何理由认为这是不切实际/不符合标准的

我把我自己的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]]

看看Numpy及其loadtxt函数。它正是您想要的:

对于写入,您可以使用savetxt函数:

此外,还具有直接从Excel文件读取的功能:


python有一个用于csv文件的内置函数。下面几行代码正是您想要的

import csv
with open('some.csv', 'rb') as f:
    reader = csv.reader(f)
    for row in reader:
        print row
多亏了J.F.塞巴斯蒂安,甚至更好

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']]

这会很好地加载文本。写作怎么样?编辑答案以添加写作功能这是我用来构建自己的功能的,但我想要更全面的功能。我说的基本上是将每个单元格直接链接到嵌套列表中的一个点。理想情况下,对数字和字符串进行一些数据识别/验证。@RodericDay查看您的注释上方。如果
a
是一个numpy数组,或者
zip(*a)
如果
a
是一个嵌套列表,则可以使用
a.T
转换二维数组(以交换列和行)。