【问题标题】:How to take comma as text in comma separated text in python如何在python中将逗号作为逗号分隔文本中的文本
【发布时间】:2016-11-29 03:53:09
【问题描述】:

您好,我是 python 新手,我想知道如何在 python 中以逗号分隔的字符串中的文本输入逗号

例如

Text=raw_input("输入符号").split(",")

输入:

A, b, c, d, e,",",f

输出:

["A","b","c","d",",","f"]

【问题讨论】:

  • 您想将其输入到逗号分隔的数据中吗?从逗号分隔的数据中读取它?还是两者兼而有之?
  • @conner.xyz 我认为他想在字段中使用逗号,鉴于逗号也是值的分隔符,这似乎很难做到。
  • 是的...当输入字符串以逗号分隔时,我希望 raw_input 使用逗号
  • @Ares 你是对的

标签: python-2.7 split user-input


【解决方案1】:

我使用列表来获取输出。输入是字符串形式,并且将接受逗号分隔的值。要了解 Python 2.7 中的列表,请访问文档页面。 但是和上一个回复一样,如果使用“”,它可能不适用于其他变量类型。 试试这个:

Text=raw_input("Enter the symbols:")
Text3=[]
#empty list Text3
for x in xrange(len(Text)):
    if Text[x]!=',' and Text[x]!='"':
        Text3.append(Text[x])

    if Text[x]==',':
        if Text[x+1]=='"' and Text[x+2]==',' and Text[x+3]=='"':
            Text3.append(Text[x+2])
            x=x+4


print("REQUIRED OUTPUT:")
for j in Text3:
    print j

输出将是:

输入符号:A,b,c,",",d 所需输出: 一种 b C ,

d

【讨论】:

    【解决方案2】:

    这里的问题是split 语句,它在字面上匹配分隔符(在这种情况下为,)。

    做这样的事情需要正确的解析,例如使用 csv 模块

    import csv
    
    Text = raw_input("Enter the symbols:")
    reader = csv.reader([Text], delimiter=',')
    symbols = next(reader)
    print(symbols)
    

    更新:扫描符号时,双精度和"" 可能无效。

    例如,a,a,b,,"," 会给出['a', 'a', 'b', '', ',']

    所以这个扩展也可以清理符号:

    import csv
    
    Text = raw_input("Enter the symbols:")
    reader = csv.reader([Text], delimiter=',')
    symbols = set(data for data in next(reader) if data)
    print(symbols)
    

    注意:输出是一个集合,可能为空。

    【讨论】:

    • 我要求符号也包含逗号
    • 鉴于您描述的确切输入,此代码 sn-p 将以您想要的方式解析它。只需运行我提供的示例代码即可。
    猜你喜欢
    • 2018-01-14
    • 2014-03-18
    • 1970-01-01
    • 2011-08-20
    • 1970-01-01
    • 1970-01-01
    • 2020-04-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多