3

この問題はさまざまな方法で解決できますが、Python を使用したいと考えています。質問は次のとおりです。

次のような値を含む CSV ファイルがあります。

Name         Address                 Skills

Napoleon     Preston, Idaho          Bowhunting, Computer Hacking, Drawing Unicorns

これを次のように変換したい:

Name         Address                 Skill 
Napoleon     Preston, Idaho          Bowhunting
Napoleon     Preston, Idaho          Computer Hacking
Napoleon     Preston, Idaho          Drawing Unicorns

私は調査し、CSV ライブラリを読みましたが、非常に醜く過度に複雑なことをすることになると感じています。

4

1 に答える 1

4

今、あなたはフラットファイルを持っています。あなたのデータを操作するための最初のステップは、あなたがそれを使い始めることができるようにそれをPythonにロードすることだと私は信じています.

あなたは正しい軌道に乗っています。csv モジュールはこのために設計されました

データがタブで区切られていると仮定します

import csv

with open('your_csv.csv') as f:
  f.readline() # these are headings should remove them
  csv_reader = csv.reader(f, delimiter='\t')
  for line_list in csv_reader:
     # line_list is a list of each row of your csv       
     # line_list[0] Contains 'Name' data   'Napolean'
     # line_list[1] Cotinas Address 'Preston, Idaho'
     # line_list[2] Contains skills 'Bowhunting, Computer Hacking, Drawing Unicorns'
     skills_list = [x.strip() for x in line_list[2].split(',')]
     for skill in skills_list:
        #line_list[0]   line_list[1],   skill


        Napoleon     Preston, Idaho          Bowhunting
        Napoleon     Preston, Idaho          Computer Hacking
        Napoleon     Preston, Idaho          Drawing Unicorns
于 2012-10-19T13:15:36.417 に答える