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()转换为字符串列表。然后用分隔符(“,")用逗号分隔。但是,我需要这样的输出
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基本每个字符串有三个部分。任何一个部分都可能包含一些逗号,那么如何用逗号分隔字符串,而不删除每个部分中的逗号?
发布于 2022-01-26 11:18:09
由于您正在读取和写入文件,所以可以选择另一个分隔符,而不是",“;。现在,如果您想使用",“作为分隔符,您可以用逗号封装字符串,并加上括号:"some_str_with_comma_inside”,这样您就可以知道发生了什么,并以不同的方式对待文件。最后,为什么不使用python的csv模块呢?
发布于 2022-01-26 11:32:17
您可以使用csv进行适当的引用,这是由csv模块自动完成的:
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']]发布于 2022-01-26 11:33:44
此代码将产生您所要求的输出,但可能不是一般的解决方案:
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])输出
wrq~
p~,sdvvzrug
zzz edlgx frp dx
wrq~
p~,sdv,vzrug
zzz jrrjoh frp dxhttps://stackoverflow.com/questions/70862507
复制相似问题