らんだむな記憶

blogというものを体験してみようか!的なー

すごくいけてないCSVを整形してみる

なんか統計データを書いたCSVが極めて腐っているのがあったので整形を試みる。
Excelデータがあれなのは仕方ないとして、CSVデータくらい処理しやすいものにしておいて欲しい。"1,234,567" とかセルに書いてあるのはどういうこと!?
超手抜きだが、整数的な文字列を整数に、小数的な文字列を小数に変換してnumpyとかで読みやすい(わけないが)データにしてみる。
CSVで提供するならいちいち文字列を入れるなよな、と思う。こんなんじゃ、そりゃデータサイエンティストなりデータアナリストなり育たんよと思ってみる。

#! /usr/bin/env python
# -*- coding: utf-8 -*-

import sys, re
import csv

csvdata=csv.reader(file(sys.argv[1], 'r'))
 
csvwriter=csv.writer(open('out.csv', 'w'), delimiter=',')
for data in csvdata:
    formatted_data = []
    for elem in data:
        elem = elem.replace(",", "")
        try:
            formatted_data.append(int(elem))
        except:
            try:
                formatted_data.append(float(elem))
            except:
                formatted_data.append(elem)
    csvwriter.writerow(formatted_data)