csvファイルで列名だけを読み込む
2023-07-19 09:04:07
質問
以下の列を持つcsvファイルを持っています。
id、name、age、sex
続いて、上記のカラムの値がたくさん並んでいます。 カラム名だけを読み込んで、リストの中に入れようとしています。
私はDictreaderを使用しており、これは正しい詳細を出します。
with open('details.csv') as csvfile:
i=["name","age","sex"]
re=csv.DictReader(csvfile)
for row in re:
for x in i:
print row[x]
しかし、私がやりたいことは、列のリスト、(上記の場合、"i")それらをリストの中にハードコーディングするよりも、入力Csvで自動的にパースされる必要があります。
with open('details.csv') as csvfile:
rows=iter(csv.reader(csvfile)).next()
header=rows[1:]
re=csv.DictReader(csvfile)
for row in re:
print row
for x in header:
print row[x]
これはエラーになります
Keyerrror:'name'
という行の中にprint row[x]があります。どこで間違っているのでしょうか?Dictreaderを使用して列名を取得することは可能ですか?
どのように解決するのですか?
ヘッダを読み取るには
next()
関数を使用します。この関数は、リーダーのイテレート可能なオブジェクトの次の行をリストとして返します。
import csv
with open("C:/path/to/.filecsv", "rb") as f:
reader = csv.reader(f)
i = reader.next()
rest = list(reader)
これで、カラムの名前をリストとして持つことができるようになりました。
print i
>>>['id', 'name', 'age', 'sex']
また、以下の点に注意してください。
reader.next()
はpython 3では動作しないことに注意してください。代わりに、内蔵の
next()
を使って、読み込んだ直後にcsvの最初の行を取得するようにします。
import csv
with open("C:/path/to/.filecsv", "rb") as f:
reader = csv.reader(f)
i = next(reader)
print(i)
>>>['id', 'name', 'age', 'sex']
関連
-
[解決済み] ファイルのコピー方法について教えてください。
-
[解決済み] 列の値に基づいてDataFrameから行を選択するにはどうすればよいですか?
-
[解決済み] Pythonでファイルやフォルダを削除する方法は?
-
[解決済み] Pandasのカラム名のリネーム
-
[解決済み] なぜC++はPythonよりもstdinからの行の読み込みが遅いのですか?
-
[解決済み] ファイルへの追記はどのように行うのですか?
-
[解決済み] Pandas DataFrameからカラムを削除する
-
[解決済み] csvモジュールでcsvファイルから特定の列を読み取る?
-
[解決済み] pandasのDataFrameから空のセルを含む行を削除する
-
[解決済み] Flaskで非同期タスクを作る
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] PythonでSVGからPNGに変換する
-
[解決済み] なぜ(0-6)は-6=偽なのか?重複
-
[解決済み] Pythonのargparseを使った隠し引数の作成
-
[解決済み] Django Rest Framework ファイルアップロード
-
[解決済み] 文字列から先頭と末尾のスペースを削除するには?
-
[解決済み] スペースがないテキストを単語のリストに分割する方法
-
[解決済み] tensorflowのCPUのみのインストールでダイナミックライブラリ 'cudart64_101.dll' を読み込めなかった
-
[解決済み] PySparkでデータフレームのカラムをString型からDouble型に変更する方法は?
-
[解決済み] djangoのQueryDictをPythonのDictに変更するには?
-
[解決済み] Python の sorted() はどのようなアルゴリズムを使っているのですか?重複