包含如下信息的文件 我想將此文件轉換爲字符串列表的列表 組之間有空行。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