第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在文本文件中使用帶分隔符的文本進行Python操作

在文本文件中使用帶分隔符的文本進行Python操作

慕慕森 2021-03-15 16:13:30
我有一個名為“ test.txt”的文本文件,其中包含此格式的行。a|b|c|da1|b1|c1|d1a2|b2|c2|d2a3|b3|c3|d3我的意圖是從該文件中讀取并給出列表列表。結果將是這樣的。[[a,b,c,d],[a1,b1,c1,d1],[a2,b2,c2,d2],[a3,b3,c3,d3]]我已經嘗試過這種方式:myfile=open('test.txt','r')x=myfile.readlines()mylist=[]mylist2=[]mylist3=[]for i in range(len(x)):      mylist.append(x[i])for i in range(len(mylist)):    mylist2.append(mylist[i].strip())    mylist3.append(mylist2[i].split('|'))print mylist3即使我的代碼可以正常工作,我也想知道是否有更好的方法(最好是更短的方法)嗎?
查看完整描述

2 回答

?
猛跑小豬

TA貢獻1858條經驗 獲得超8個贊

使用csv模塊:


import csv


with open('test.txt','rb') as myfile:

    mylist = list(csv.reader(myfile, delimiter='|'))

即使沒有模塊,也可以直接拆分行,而無需始終將結果存儲在中間列表中:


with open('test.txt','r') as myfile:

    mylist = [line.strip().split('|') for line in myfile]

兩種版本均導致:


>>> with open('test.txt','rb') as myfile:

...     mylist = list(csv.reader(myfile, delimiter='|'))

... 

>>> mylist

[['a', 'b', 'c', 'd'], ['a1', 'b1', 'c1', 'd1'], ['a2', 'b2', 'c2', 'd2'], ['a3', 'b3', 'c3', 'd3']]

>>> with open('test.txt','r') as myfile:

...     mylist = [line.strip().split('|') for line in myfile]

... 

>>> mylist

[['a', 'b', 'c', 'd'], ['a1', 'b1', 'c1', 'd1'], ['a2', 'b2', 'c2', 'd2'], ['a3', 'b3', 'c3', 'd3']]



查看完整回答
反對 回復 2021-03-30
?
呼如林

TA貢獻1798條經驗 獲得超3個贊

您可以str.split在list comprehension此處使用和。


with open(test.txt) as f:                                                  

    lis = [line.strip().split('|') for line in f]

    print lis

輸出:


[['a', 'b', 'c', 'd'], ['a1', 'b1', 'c1', 'd1'], ['a2', 'b2', 'c2', 'd2'], ['a3', 'b3', 'c3', 'd3']]



查看完整回答
反對 回復 2021-03-30
  • 2 回答
  • 0 關注
  • 213 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號