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