前提
使用言語はPythonです。
実現したいこと
ここに実現したいことを箇条書きで書いてください。
・PythonにてCSVファイルの要素によって置換する条件を変える方法が知りたいです。
・具体的な内容として、csvファイルのすべての要素において
①文字数が0(空のデータ)のものは、0と記入
②文字数が1文字以上のものは、1と記入
③1列目のみはキーとして、そのまま値を残したいです。
④①、②、③を踏まえてCSVを出力
今回は、簡素なCSVを例に出しますが実際は列数が150以上、行数は1000以上のものを取り扱います。
発生している問題・エラーメッセージ
拙いながらもコードを書いてみたものの、置換されておりませんでした。 また、この方法で書いた場合CSVへの出力方法が分かりません。 ご教授いただければ幸いです。
該当のソースコード
import pandas as pd import numpy as np df = pd.read_csv('TEST.CSV',encoding="cp932",dtype='object') # print(df) for idx,val in df.items(): if len(val) == 0: val_re0 = val.replace(str(val),0) print(val_re0) elif len(val) > 0: val_re1 = val.replace(str(val),1) print(val_re1) #TEST.CSV 名前,性別,年齢,出身地,血液型 太郎,男,20,東京,A 次郎,男,18,, 花子,女,,神奈川, 由美,女,19,京都,O 拓也,,16,大阪,AB #理想の出力結果 名前,性別,年齢,出身地,血液型 太郎,1,1,1,1 次郎,1,1,0,0 花子,1,0,1,0 由美,1,1,1,1 拓也,0,1,1,1
(記載欄を間違えていたので削除)

回答2件
あなたの回答
tips
プレビュー