0

私は学期のプログラミングの学生です。クラスでは、ファイルのオープン、読み取り、書き込みについて学習しています。

私たちはa_reader、ファイルを開くためにそのようなタスクを達成するために使用してきました。関連するテキストを読んでいて、使用している CSV リーダー オプションがあることに気付きました。

Python とそれに関連するコンテンツで知識ベースを拡大しようとしているときに、ファイルを開いたり読み取ったりする方法が他にあるかどうかを知りたいと思いました。

編集: CSV は、現在使用しているファイルの種類であるため、より具体的に言及していました。CSV Reader と a_reader について学びました。講義の例を以下に示します。

def main():
 a_reader = open('IDCJAC0016_009225_1800_Data.csv', 'rU')
 file_data = a_reader.read()
 a_reader.close()
 print file_data
main()

広すぎるように見えるかもしれませんが、私には知識がありません。知っている人がタイプを提供できる場合は、それらを読んで調査できるようにします。

4

2 に答える 2

0

ファイルをさまざまな方法で読み取る方法は多数あります。

ただプレーンなopenファイル名を取り、それを一連の行として開きます。または、それを呼び出すだけread()で、ファイル全体を一度に 1 つの巨大な文字列に読み取ることができます。

codecs.openファイル名と文字セットを受け取り、各行を自動的に Unicode にデコードします。または、これを呼び出すだけread()で、ファイル全体を一度に読み取ってデコードし、1 つの巨大な Unicode 文字列にすることができます。

csv.readerファイルまたはファイルのようなオブジェクトを受け取り、それを一連の CSV 行として読み取ります。—に直接相当するものはありませんが、呼び出すだけで任意のread()シーケンスをリストに変換できるため、行のリストが得られます (それぞれがリストです)。listlist(my_reader)

zipfile.ZipFileファイル名、またはファイルまたはファイルのようなオブジェクトを取り、それを ZIP アーカイブとして読み取ります。もちろん、これは行単位ではありませんが、アーカイブされたファイルごとに移動できます。または、アーカイブされたファイルを名前で検索するなど、より手の込んだことを行うこともできます。

JSON および XML ドキュメントを読み取るためのモジュール、バイナリ ファイルを処理するさまざまな方法などがあります。たとえば、XML ドキュメントを 1 つのモジュールでツリーとして検索したり、別のモジュールで要素ごとに検索したりできます。

Python にはかなり広範な標準ライブラリがあり、オンラインでドキュメントを見つけることができます。ファイルで動作できるはずのすべてのモジュールは、おそらく動作します。

また、標準ライブラリであるPyPI に付属するものを超えて、Python Package Indexには何千もの追加モジュールがあります。YAML ドキュメントを読む方法をお探しですか? PyPI を検索するyamlと、それが見つかります。

最後に、Python を使用すると、このようなものを自分で簡単に追加できます。関数 like のスケルトンは、次のようcsv.readerに単純です。

def reader(fileobj):
    for line in fileobj:
        yield parse_one_csv_line(line)

これは好きなものに置き換えることができparse_one_csv_line、カスタム リーダーを作成できます。たとえば、これは uppercase_reader です。

def uppercase_reader(fileobj):
    for line in fileobj:
        yield line.upper()

実際、すべてを 1 行で書くこともできます。

shouts = (line.upper() for line in fileobj)

そして、最も良い点は、リーダーが一度に 1 行しか生成しない限り、リーダー自体がファイルのようなオブジェクトであるため、渡すことができ、問題なく動作uppercase_reader(fileobj)することcsv.readerです。

于 2013-06-05T01:33:26.013 に答える
0

物を保管する場所について尋ねている場合、最初に出会うインターフェースはファイルとソケットです (ネットワーク接続はファイルのようなものだと考えてください。http://docs.python.org/2/library/socket.htmlを参照してください)。 )。

ファイル形式 (csv など) のことなら、たくさんあります。ご自分でもいろいろ思いつくかもしれませんが、csv の他に、html ファイル、画像 (png、jpg、gif)、アーカイブ形式 (tar、zip)、テキスト ファイル (.txt!)、python ファイル (.py) があります。リストは続きます。

于 2013-06-05T01:27:27.163 に答える