table()
csvファイルを読み取り、個々のリストの行を返す関数があり ます。これらのリストをマップしてディクショナリを作成したいと考えています。フィールド ヘッダーがキーで、下にある行が値です。しかし、私はこれを行うことができないようです。コマンド プロンプトで関数 ( ) から作成したリストのリスト内の最初の要素のみを呼び出そうとすると、l
「None」という単語の最初の文字である「N」までのすべてのリストが返されます。 (戻り値) リーダーが None の場合。テキストファイルに対してsys.stdoutで同じことを行うと、同じことが行われますが、「N」は<type 'list'>
. 私が間違っていることを知っている人はいます table()
か?関数を指定してCSVファイルから辞書(または列のリスト)を作成するにはどうすればよいですか?
import csv
def table():
with open('C:\\Python27\\test.csv', 'rb') as f:
reader = csv.reader(f)
for row in reader:
print row
if reader is None:
return
l = list(str(table()))
keys = l[0]
print keys
出力テキスト ファイル:
['Field1', 'Field2', 'Field3', 'Field4']
['a', '1', 'I', 'access']
['b', '2', 'II', 'accessing\n']
['c', '3', 'III', 'accommodation']
['d', '4', 'IIII', 'basically']
<type 'list'>