Re: [問題] 批次讀取字串、加入文字
※ 引述《cantakeyeofu (不看你的眼)》之銘言:
: 現在我有個文字檔案,內容如下:
: Apple 蘋果 123
: HTC 宏達電 456
: Samsung 三星 789
: Sony 索尼 234
: Asus 華碩 345
: 我想要把這個檔案內容變成:
: <tr><td>Apple</td><td>蘋果</td><td>123</td></tr>
: <tr><td>HTC</td><td>宏達電</td><td>456</td></tr>
: <tr><td>Samsung</td><td>三星</td><td>123</td></tr>
: <tr><td>Sony</td><td>索尼</td><td>123</td></tr>
: <tr><td>Asus</td><td>華碩</td><td>123</td></tr>
: 不知道有什麼比較好的作法?謝謝
* 前一篇有板友說了用replace的方法, 小弟再提供幾個
a= u"""Apple 蘋果 123
HTC 宏達電 456
Samsung 三星 789
Sony 索尼 234
Asus 華碩 345"""
第1種: 帥氣一行碼, 但是下一次自己也看不懂
print u"\n".join(u"<tr>{0}</tr>".format(u"".join(u"<td>{0}</td>".format(j)
for j in i.split())) for i in a.splitlines())
第2種: 同上, 好懂一點的寫法
def tr(lines):
lines = (u"<tr>{0}</tr>".format(td(i.split())) for i in lines)
return u"\n".join(lines)
def td(tokens):
return u"".join(u"<td>{0}</td>".format(i) for i in tokens)
print tr(a.splitlines())
第3種: 選對工具的寫法
import re
b = re.sub(ur"(\S*)[ \t]?",ur"<td>\1</td>",a)
c = re.sub(ur"(?m)^(.*?)$",ur"<tr>\1</tr>",b)
print c
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 211.74.193.142
→
10/27 13:29, , 1F
10/27 13:29, 1F
討論串 (同標題文章)
Python 近期熱門文章
PTT數位生活區 即時熱門文章