Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/360.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中CSV列中的字符串拆分_Python_String_Csv_Split_String Split - Fatal编程技术网

python中CSV列中的字符串拆分

python中CSV列中的字符串拆分,python,string,csv,split,string-split,Python,String,Csv,Split,String Split,因此,我正在与一个CSV合作,这是一个多对一的关系,我有两个问题需要帮助解决。首先,我把字符串设置为 这是我的梦想=thisisanemail@addy.com等等,等等,等等,等等 因此,我需要将字符串拆分两次,一次为on=和一次为on,因为我基本上是在尝试获取电子邮件地址部分(thisisanemail@addy.com)到目前为止,我已经找到了如何使用如下方式拆分=上的字符串: str = thisismystr=thisisanemail@addy.com,blah,blah,blah

因此,我正在与一个CSV合作,这是一个多对一的关系,我有两个问题需要帮助解决。首先,我把字符串设置为

这是我的梦想=thisisanemail@addy.com等等,等等,等等,等等

因此,我需要将字符串拆分两次,一次为on=和一次为on,因为我基本上是在尝试获取电子邮件地址部分(thisisanemail@addy.com)到目前为止,我已经找到了如何使用如下方式拆分=上的字符串:

str = thisismystr=thisisanemail@addy.com,blah,blah,blah

print str.split("=")
哪个会返回这个“thisisanemail@addy.com等等,等等,等等。。。然而,这留下了,诸如此类,诸如此类的部分要删除。。。经过一番研究,我被难住了,因为没有任何东西解释如何从中间删除,只有第一部分或最后一部分。有人知道怎么做吗

对于第二部分,我需要从多行开始,所以这更多的是一个建议问题。。。最好是将其插入变量并循环,比如(
i=1表示i,#endofCSV do splitcmd
),还是有更有效的方法?我对LUA更为熟悉,并且我了解到,使用python越多,它与LUA的区别就越大


请帮忙。谢谢

这能解决你的问题吗

#!/usr/bin/env python
#-*- coding:utf-8 -*-

myString = 'thisismystr=thisisanemail@addy.com,blah,blah,blah'

a = myString.split('=')
b = []
for i in a:
    b.extend(i.split(','))

print b

我相信您希望电子邮件采用以下格式:thisismystr=thisisanemail@addy.com,诸如此类,诸如此类。

这是您将如何做到的:

str = 'thisismystr=thisisanemail@addy.com,blah,blah,blah'
email = str.split('=')[1].split(',')[0]
print email

@没有,因为如果你在纯文本中查看CSV,CSV会这样想:“thisismystr=thisisanemail@addy.com,诸如此类,诸如此类“,这是extcsvelement,3rdCSVelement,等等。因此,我认为,除非我将其转换为制表符分隔符或其他形式,否则它将错误地拆分列。
split(“=”)
将返回两个字符串的列表,“thisismystr”和“thisismystr”thisisanemail@addy.com等等,等等,等等。在第二个字符串上运行
split(“,”)
,以获取具有thisisanemail@addy.com'作为列表中的第一个字符串。啊,在这种情况下,您能将分隔符改为其他字符吗?如果我的答案有帮助,请接受它。:)