リストとしてcsvファイルの内容を取得するための最良かつ最もエレガントな方法は何ですか? 国、地域、人口などの必須列は、以下のプログラムのように自動的に識別されることに注意してください。
with open ('data.csv','r') as infile:
contents = infile.read().split(',')
with open ('data.csv','r') as infile:
countries = [item.split(',')[contents.index('Country')] for item in infile]
with open ('data.csv','r') as infile:
areas = [item.split(',')[contents.index('Area')] for item in infile]
with open ('data.csv','r') as infile:
populations = [item.split(',')[contents.index('Population')] for item in infile]
print (countries)
print (areas)
print (populations)
上記のプログラムは機能しますが、かなり短くて読みやすいプログラムを探しています。
更新:「国」などの特定の列がファイルに存在しない場合のエラーを防ぐには、次の方法でプログラムを改善できます。
countries = [item.split(',')[contents.index('Country')] for item in infile if 'Country' in contents]
csvモジュールを使用してどのように行うことができますか??