【问题标题】:String splitting in python in CSV columnsCSV列中python中的字符串拆分
【发布时间】:2014-09-22 02:41:57
【问题描述】:

所以我正在使用具有多对一关系的 CSV,并且我有 2 个问题需要帮助解决。首先是我将字符串设置为

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

所以我需要将字符串拆分两次,一次在 = 上,一次在 上,因为我基本上是在尝试获取作为电子邮件地址的部分 (thisisanemail@addy.com) 到目前为止,我已经想出了如何使用这样的方法在 = 上拆分字符串:

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

print str.split("=")

返回这个“thisisanemail@addy.com,blah,blah,blah”...但是这会留下 ,blah,blah,blah 部分被删除...经过一些研究,我很难过,因为没有任何解释如何从中间移除,只是第一部分或最后一部分。有谁知道怎么做?

对于第二部分,我需要从多行执行此操作,因此这更像是一个建议问题...最好将其插入变量并循环遍历 (i = 1 for i, #endofCSV do splitcmd) 还是有更多有效的方式来做到这一点?我对 LUA 更加熟悉,并且我了解到我使用 python 的次数越多,它与 LUA 的区别就越大。

请帮忙。谢谢!

【问题讨论】:

  • @figs 不,因为如果您以纯文本格式查看 CSV,CSV 会像这样:“thisismystr=thisisanemail@addy.com,blah,blah,blah”, thisisthenextCSVelement, 3rdCSVelement等。所以我认为它会错误地拆分列,除非我将其转换为制表符分隔或其他内容。
  • split("=") 将返回两个字符串的列表,“thisismystr”和“thisisanemail@addy.com,blah,blah,blah”。在第二个字符串上运行 split(",") 以获取以 'thisisanemail@addy.com' 作为列表中第一个字符串的字符串列表。
  • 啊,那你能不能把分隔符改成不同的或者把逗号换成别的?
  • 如果我的回答有帮助,请采纳。 :)

标签: python string csv split string-split


【解决方案1】:

这能解决您的问题吗?

#!/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

【讨论】:

    【解决方案2】:

    我相信您希望电子邮件中包含以下格式的字符串:'thisismystr=thisisanemail@addy.com,blah,blah,blah'

    你会这样做:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-26
      • 1970-01-01
      • 2010-10-31
      • 2013-07-07
      • 1970-01-01
      • 2012-10-19
      • 1970-01-01
      相关资源
      最近更新 更多