首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将逗号分隔的字符串转换为Python中的list?但包括一些逗号

问如何将逗号分隔的字符串转换为Python中的list?但包括一些逗号
EN

Stack Overflow用户
提问于 2022-01-26 11:09:16
回答 4查看 787关注 0票数 0
代码语言:javascript
复制
data = ['wrq~,p~,sdvvzrug,zzz edlgx frp dx\n',
        'wrq~,p~,sdv,vzrug,zzz jrrjoh frp dx\n']
for item in data:
    text1 = item.split(",")[0]
    text2 = item.split(",")[1]
    text3 = item.split(",")[2].strip()
    print(text1)
    print(text2)
    print(text3)

我正在使用python编写和读取files.The数据,这些数据存储在逗号分隔的文本文件中。然后,我使用readline()转换为字符串列表。然后用分隔符(“,")用逗号分隔。但是,我需要这样的输出

代码语言:javascript
复制
text1=wrq~  
text2=p~,sdvvzrug 
text3=zzz edlgx frp dx
second string of the list will be the same 
text1=wrq~  
text2=p~,sdv,vzrug 
text3=zzz edlgx frp dx

基本每个字符串有三个部分。任何一个部分都可能包含一些逗号,那么如何用逗号分隔字符串,而不删除每个部分中的逗号?

EN

回答 4

Stack Overflow用户

发布于 2022-01-26 11:18:09

由于您正在读取和写入文件,所以可以选择另一个分隔符,而不是",“;。现在,如果您想使用",“作为分隔符,您可以用逗号封装字符串,并加上括号:"some_str_with_comma_inside”,这样您就可以知道发生了什么,并以不同的方式对待文件。最后,为什么不使用python的csv模块呢?

票数 2
EN

Stack Overflow用户

发布于 2022-01-26 11:32:17

您可以使用csv进行适当的引用,这是由csv模块自动完成的:

代码语言:javascript
复制
import csv

l = [['wrq~', 'p~,sdvvzrug', 'zzz edlgx frp dx'],
     ['wrq~', 'p~,sdv,vzrug', 'zzz jrrjoh frp dx'],
    ]

## ENCODING

with open('file.csv', 'w') as f:
    writer = csv.writer(f)
    writer.writerows(l)

# file.csv
# wrq~,"p~,sdvvzrug",zzz edlgx frp dx
# wrq~,"p~,sdv,vzrug",zzz jrrjoh frp dx


## DECODING

with open('file.csv', 'r') as f:
    reader = csv.reader(f)
    l2 = list(reader)

# l2
# [['wrq~', 'p~,sdvvzrug', 'zzz edlgx frp dx'],
#  ['wrq~', 'p~,sdv,vzrug', 'zzz jrrjoh frp dx']]
票数 1
EN

Stack Overflow用户

发布于 2022-01-26 11:33:44

此代码将产生您所要求的输出,但可能不是一般的解决方案:

代码语言:javascript
复制
data = ['wrq~,p~,sdvvzrug,zzz edlgx frp dx\n', 'wrq~,p~,sdv,vzrug,zzz jrrjoh frp dx\n']

for d in data:
    t = d.split(',')
    print(t[0])
    print(','.join(t[1:-1]))
    print(t[-1])

输出

代码语言:javascript
复制
wrq~
p~,sdvvzrug
zzz edlgx frp dx

wrq~
p~,sdv,vzrug
zzz jrrjoh frp dx
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70862507

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档