[Python] 277 CSVファイルのデータ型を整数に変換

CSVファイルのデータ型を小数の文字列から整数に変換するコードの一例です。画像上・中は表計算ソフトNumbersで変換前後をファイル表示したものです。

小数の文字列から整数への直接変換は仕様のため不可なので、一旦浮動小数点数に変換してから整数にします。

<コードの一部>
with open (file, mode="r", encoding="shift_jis") as f1:
    with open(file_convert, mode="a", encoding="shift_jis") as f2:
        writer = csv.writer(f2)
        for i,row in enumerate(csv.reader(f1)):
            if i == 0: # ヘッダ行
                rows = row[0:23]
                writer.writerow(rows)
            else:
                try: # 着順 "中(止)"や"除(外)"への対応
                    col0 = int(float(row[0]))
                except:
                    col0 = row[0]
                try: # 人気 空欄への対応
                    col13 = int(float(row[13]))
                except:
                    col13 = row[13]
                rows2 = [col0] + [int(float(row[1]))] + [int(float(row[2]))] + row[3:13] + [col13] + row[14:23]
                writer.writerow(rows2)


Excelでは変換前後で見た目変わらず。この種の作業には全く向きません。Numbersの優秀さが際立ちます。