0

入力ファイルのinput_fieldsを宣言する必要があり、ファイルから変数にコピーして貼り付け、コンマと引用符を追加するだけで、次の問題が発生し続けます。例えば:

input = ("First Name", "Middle Name", "Last Name")

このプロセスを自動化して、プログラムに次のような行を含めることができるようにします。

input = inputize.function1("name_of_file.csv")

ここで、function1は入力ファイル( "name_of_file.csv")を受け取り、この場合は3つの文字列( "First Name"、 "Middle Name"、 "Last Name")を持つタプルを返します。ご想像のとおり、多くのファイルに対して手動でこれを行う必要があるため、これは今のところ苦痛です。その多くには非常に多くの列があります...

基本的な構造は次のようにしたいと思いますが、csvファイルの最初の行を取得し、各列ヘッダーを区切り、その前後に引用符を付け、その後にコンマを置く非常に簡単な方法が必要だと考え続けています。 、次にすべてをタプルとして保存します。

def function1(input_file):

  with open(input_file, "rb") as infile:
       for line in infile:
           split = line.split(",")
           for item in split:
               input = '"' + item + '","
           return input

これが他の人にも役立つことを願っています。これは、十分に一般的で非常に煩わしい手動タスクのように思われるためです。また、ガイダンスをいただければ幸いです。

補遺

私はこのようなコードを書いていました:

input_fields = ("First Name", "Middle Name", "Last Name")
reader = csv.DictReader(infile, fieldnames = input_fields)

以下のあなたの答えによると、私がしなければならないのは次のことだけなので、トップラインは議論の余地があるようです:

reader = csv.DictReader(infile)
4

1 に答える 1

1

DictReaderfieldnamesプロパティを持つwhichを使用できます!

reader = DictReader(open('name_of_file.csv'))
reader.fieldnames

組み込みのDictReaderを使用すると、csvファイルの解析に関連する微妙な違いのいくつかに役立ちます。

于 2012-11-02T18:54:32.260 に答える