包含如下信息的文件 我想将此文件转换为字符串列表的列表 组之间有空行。python:将文件转换为字符串列表的列表
pear
banana
milk
tea
coffee
,并将结果回报:
build_list(f):
[[pear, banana], [milk, tea, coffee]]
包含如下信息的文件 我想将此文件转换为字符串列表的列表 组之间有空行。python:将文件转换为字符串列表的列表
pear
banana
milk
tea
coffee
,并将结果回报:
build_list(f):
[[pear, banana], [milk, tea, coffee]]
试试这个:
from itertools import groupby
def build_list(name):
with open(name, "r") as f:
return [[i.strip() for i in group] for key, group in
groupby(f, key=lambda k: (k.strip() == "")) if not key]
该解决方案甚至会允许,你有团体或多个空之间的一个以上的空行退化文件最后一行。
这应该做到这一点:
with open("data.txt") as f:
res = [line.split('\n') for line in f.read().split('\n\n')]
分割输入数据分成组然后分裂每个组成线。
Stack_13328928.txt是您的列表。请注意,输入文件中的最后一行必须是新行,否则最后一行将丢失,但我认为可以修改代码,因此不需要空白的新行。
import csv
in_file = open("stack_13328928.txt")
CSV = csv.reader(in_file)
outer_ls = []
inter_ls = []
for i in CSV:
try:
i[0]
inter_ls += i
except:
outer_ls.append(inter_ls)
inter_ls = []
print outer_ls
你有任何代码吗? – squiguy
我正在考虑删除每组之间的空行。但到目前为止,我的代码不工作。 – user1718467
发布,所以我们可以帮助:) – squiguy