我可以通过多种方式解决这个问题,但我想使用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库,但我觉得我最终会做一些非常丑陋和过于复杂的事情。
答案 0 :(得分: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