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 回答