[英]how to turn multiple lines into multiple lists in python?
I have a file with lines look like this:我有一个文件,其行如下所示:
"[36.147315849999998, -86.7978174] 6 2011-08-28 19:45:11 @maryreynolds85 That is my life, lol."
"[37.715399429999998, -89.21166221] 6 2011-08-28 19:45:41 Ate more veggie and fruit than meat for the first time in my life"
i have tried to strip these lines and split them, then i tried to strip substring in every list with punctuations.我试图剥离这些行并将它们拆分,然后我尝试在每个带有标点符号的列表中剥离 substring。
with open('aabb.txt') as t:
for Line in t:
splitline = Line.strip()
splitline2 = splitline.split()
for words in splitline2:
words = words.strip("!#$%&'()*+,-./:;?@[\]^_`{|}~")
words = words.lower()
what shoul I do to turn these lines into two lists look like this:我应该怎么做才能将这些行变成两个列表,如下所示:
'["36.147315849999998","-86.7978174","6","2011-08-28","19:45:11","maryreynolds85","that","is","my","life","lol"]'
'["37.715399429999998","-89.21166221","6","2011-08-28","19:45:41","ate","more","veggie","and","fruit","than","meat","for","the","time","in","my","life"]'
are all your data in the same format?您的所有数据都采用相同的格式吗? if yes, use regex from
re
library.如果是,请使用
re
库中的正则表达式。
import re
your_str="[36.147315849999998, -86.7978174] 6 2011-08-28 19:45:11 @maryreynolds85 That is my life, lol."
reg_data= re.compile(r"\[(.*),(.*)\] (.*)")
your_reg_grp=re.match(reg_data,your_str)
if your_reg_grp:
print(your_reg_grp.groups())
#this should put everything in the list except the parts outside the square brackets, you can split the last one by split(" ") then make a new list. #this 应该将除了方括号之外的部分之外的所有内容都放在列表中,您可以通过 split(" ") 拆分最后一个,然后创建一个新列表。
grp1=your_reg_grp.groups()
grp2=grp1[-1].split(" ")
Combine grp1[:-1] and grp2结合 grp1[:-1] 和 grp2
You are already creating words that you need on the list.您已经在列表中创建了您需要的单词。 You have to just create a list and add it to the list.
您只需创建一个列表并将其添加到列表中。
with open('aabb.txt') as t:
for Line in t:
list=[]
splitline = Line.strip()
splitline2 = splitline.split()
for words in splitline2:
words = words.strip("!#$%&'()*+,-./:;?@[\]^_`{|}~")
words = words.lower()
list.append(words)
print(list)
You can also create a list of list for each line and use it for your needs.您还可以为每一行创建一个列表列表,并根据您的需要使用它。
with open('aabb.txt') as t:
root_list=[]
for Line in t:
temp_list=[]
splitline = Line.strip()
splitline2 = splitline.split()
for words in splitline2:
words = words.strip("!#$%&'()*+,-./:;?@[\]^_`{|}~")
words = words.lower()
temp_list.append(words)
root_list.append(temp_list)
print(root_list)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.