Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过管道python将单元格拆分为行_Python - Fatal编程技术网

通过管道python将单元格拆分为行

通过管道python将单元格拆分为行,python,Python,我正在尝试通过管道(“|”)将单元格拆分为两行 例如: ID Site Category Queries 1 0 38037 antique+wall+telephone|antique+wall+phone 将成为: ID Site Category Queries 1 0 38037 antique+wall+telephone 1 0 38037 antique+wall

我正在尝试通过管道(“|”)将单元格拆分为两行

例如:

ID  Site    Category    Queries

1   0        38037      antique+wall+telephone|antique+wall+phone
将成为:

ID  Site    Category    Queries

1   0         38037     antique+wall+telephone

1   0         38037     antique+wall+phone
您可以使用.split()

输出将是“|”两侧的元素列表

因此,输出将是

("antique+wall+telephone", "antique+wall+phone")
然后,您可以简单地在字符串列表的每个元素前面添加ID号

希望这能回答你的问题这里有一个方法:

>>> id, site, category, queries
('1', '0', '38037', 'antique+wall+telephone|antique+wall+phone')
>>> for query in queries.split('|'):
...     print id, site, category, query
... 
1 0 38037 antique+wall+telephone
1 0 38037 antique+wall+phone

使用talend,还可以使用tNormalize组件:只需在下拉菜单中指定要规格化的列。如果要使用“|”作为项目分隔符,请小心,因为它是保留字符,必须使用“\|”对其进行转义。

>>> id, site, category, queries
('1', '0', '38037', 'antique+wall+telephone|antique+wall+phone')
>>> for query in queries.split('|'):
...     print id, site, category, query
... 
1 0 38037 antique+wall+telephone
1 0 38037 antique+wall+phone