包含中文的txt文件的结构是每一个段有数行,段与段之间用一个空行隔开。现在想把每一段填入一个list的项,比如我现在想把第一段写入p(1),第二段写入p(2)请问该如何写。
我的文件如下:
#世界 #亚洲
#中国 #陕西
#西安 #未央区
#大桥路
#小别墅
希望最终的p为:
['#世界 #亚洲 #中国 #陕西', '#西安 #未央区 #大桥路', '#小别墅']
前面可能我说的不太清楚,所以回答没有达到效果,这里我重新修改了一下问题。大家帮我看看,如何修改,谢谢大家了!
包含中文的txt文件的结构是每一个段有数行,段与段之间用一个空行隔开。现在想把每一段填入一个list的项,比如我现在想把第一段写入p(1),第二段写入p(2)请问该如何写。
我的文件如下:
#世界 #亚洲
#中国 #陕西
#西安 #未央区
#大桥路
#小别墅
希望最终的p为:
['#世界 #亚洲 #中国 #陕西', '#西安 #未央区 #大桥路', '#小别墅']
前面可能我说的不太清楚,所以回答没有达到效果,这里我重新修改了一下问题。大家帮我看看,如何修改,谢谢大家了!
all_line = []
# 将file.txt改成你读取的文件
with open('filename.txt', mode='r', encoding='utf-8') as fp:
all_line = fp.readlines()
print("all_line:", all_line)
cnt = 0
# bank为空格所在地编号
bank = []
for i, line in enumerate(all_line):
if all_line[i] == '\n':
bank.append(i)
cnt += 1
print("行数:", len(all_line), "段数:", cnt)
print("空格所在地编号:", bank)
# 形成新的list dp,一段为一个元素,但每个元素中依然有若干元素
dp = []
# 0:bank[0] bank[0]+1:bank[1] bank[1]+1:bank[2]... bank[cnt-1]+1:bank[cnt-1] #cnt=28
dp.append(all_line[0:bank[0]])
# 因为前面已经有了第一段,这里只需要剩下的cnt-1段即可
for i in range(cnt-1):
dp.append(all_line[bank[0+i]+1:bank[1+i]])
print("dp:", dp)
print("提取段数:", len(dp))
# 形成结果的list result一段为一个元素.
result = []
for i in range(cnt):
result.append(''.join(dp[i]))
print("result:", result)