2016-05-27 4 views
0

私はSurvey MonkeyのCSVデータを使用しています。問題は、使用する列名がほとんどのデータベースCSVデータインポートルーチンでは長すぎることです。列名は、文字通り調査で尋ねた質問です。したがって、データベースの列名では、64文字にまで絞ることができるまでには時間がかかることがあります。質問をいくつかの単語や文字に絞り込むために、Pythonルーチンはどのように見えますか?私は母音を削除するような何かをすることはできません。母音を削除するのは、ほとんどの場合、まだ長すぎるからです。思考?文を省略するためのPythonルーチン?

+1

文字列の最初の 'N'文字を使うだけでなく、 – CoryKramer

+0

@CoryKramer質問です。ですから、最初の64文字を取ってみると、あなたの意見はどういうものなのでしょうか? –

+0

あなたは一意の識別子を持っていなければなりません。単に質問番号(例えば 'question_1'、' question_2'など)でそれらを保存するか、文字列または何かをハッシュするかのどちらかですが、後者のオプションは明らかに人間が判読できるものではありません。 – CoryKramer

答えて

0

ヘッダーが一意で64未満である必要がある場合(postgres btwを使用していますか?)、次にハッシュを使用してください。

from hashlib import md5 

columns = ['reallylongcolumname1', 'reallylongcolumname2'] 
out = {} 
for c in columns: 
    h = md5(c).hexdigest() 
    # Use 'h' as your new column header! 
    out.update({c : h}) 

辞書を「どこか」に保存して、これを後で復号化できるようにします。

+0

dbにはdbが必要です。 – zaph

+0

私はそれがエレガントな解決策ではないと言いました!より良い解決策はもちろん、何らかの弱い2ウェイ暗号化を使用することです。ここにあるものの上に提案をすることをどうぞお気軽に! – Thtu

関連する問題