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セバスティアンのおかげでさらに良い

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 に答える