使用正则表达式regex对值进行分组

时间:2016-05-23 08:20:56

标签: regex excel csv

我在Excel工作表中也有一个名单列表(也在csv中),我创建了名称来源的组。

这就是我制作的小组的样子。

This is what the groups I made look like

现在我想添加一个名称后面有组名的新列。

这是我想要获得的。

This is what the groups I made look like

我如何得到这个?我是否必须使用regualar表达式?

1 个答案:

答案 0 :(得分:2)

这里不需要正则表达式。例如,您可以使用python的csv模块。

<强> old.csv

groups,,,
Dutch,Lore,Kilian,Daan
German,Marte,,
USA,Eva,Judith,
使用import csv

python脚本

import csv

rows = []

with open('old.csv','r') as old_csv:
  old = csv.reader(old_csv, delimiter=',')
  old.next()
  for row in old:
    for name in row[1:]:
      if name:
        rows.append({'name':name,'group':row[0]})

with open('new.csv','w') as new_cvs:
  fieldnames = ['name', 'group']
  new = csv.DictWriter(new_cvs, fieldnames=fieldnames)
  new.writer.writerow(new.fieldnames)
  new.writerows(rows)

<强> new.csv

name,group
Lore,Dutch
Kilian,Dutch
Daan,Dutch
Marte,German
Eva,USA
Judith,USA

您也可以使用xlrd和xlwt模块,但必须安装它们,因为它们不是标准模块。