[問題] 輸出到文件的格式能分別設定嗎
各位大大好,小弟剛接觸python約一個月
目前都是在yt看影片自學
上週終於學到網頁爬蟲,範例是抓PTT版面標題
於是就自己寫了一個抓取留言的小程式
也經過了很多次的修改後把內文跟作者ID之類的加上去
最近終於修改完成了
只是我發現輸出到記事本的格式挺讓人眼花的
想問看看有沒有辦法讓推文標籤ID及內容置左 時間置右這樣去做輸出
不管怎麼做好像都沒有辦法讓格式整齊點
所以上來問問看有沒有甚麼方法可以做到
程式有點長放在github裡
https://reurl.cc/qg7On3
應該有很多地方可以精簡,還在學習中請見諒
另外也有發現抓內容部分可能會因為發文者的文字習慣會有bug產生
更新
目前輸出到記事本的推文部分是這樣
推 ddavid: 置左置右這些可以去查一下Python format string的各種用法 08/20 12:45
→ Lyumin: 查到都是print的用法 用在file.write裡好像沒作用 08/20 12:50
推 lycantrope: 你有查string format align? string先format再寫入吧 08/20 13:10
我想輸出成以下這樣
推 ddavid: 置左置右這些可以去查一下Python format string的各種用法 08/20 12:45
→ Lyumin: 查到都是print的用法 用在file.write裡好像沒作用 08/20 12:50
推 lycantrope: 你有查string format align? string先format再寫入吧 08/20 13:10
程式是用while去做迴圈然後輸出 試過"{:>8}".format()還是沒辦法對齊
file.write(tag[x].text+id[x].text+msg[x].text+time[x].text)
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.35.43.66 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1629433719.A.118.html
推
08/20 12:45,
3年前
, 1F
08/20 12:45, 1F
→
08/20 12:50,
3年前
, 2F
08/20 12:50, 2F
推
08/20 13:10,
3年前
, 3F
08/20 13:10, 3F
推
08/20 13:25,
3年前
, 4F
08/20 13:25, 4F
→
08/20 13:52,
3年前
, 5F
08/20 13:52, 5F
→
08/20 13:53,
3年前
, 6F
08/20 13:53, 6F
推
08/20 14:03,
3年前
, 7F
08/20 14:03, 7F
※ 編輯: Lyumin (114.35.43.66 臺灣), 08/20/2021 15:29:39
推
08/20 16:00,
3年前
, 8F
08/20 16:00, 8F
→
08/20 16:00,
3年前
, 9F
08/20 16:00, 9F
有的有試過下面,只是要完全對再一起感覺不可能
file.write("{:<3}".format(tag[x].text)+"{:<3}".format(id[x].text)+"{:<50}".format(msg[x].text)+"{:>50}".format(time[x].text))
※ 編輯: Lyumin (114.35.43.66 臺灣), 08/20/2021 16:10:32
推
08/20 16:23,
3年前
, 10F
08/20 16:23, 10F
推
08/20 16:29,
3年前
, 11F
08/20 16:29, 11F
→
08/20 16:30,
3年前
, 12F
08/20 16:30, 12F
推
08/20 16:34,
3年前
, 13F
08/20 16:34, 13F
→
08/20 16:35,
3年前
, 14F
08/20 16:35, 14F
→
08/20 16:53,
3年前
, 15F
08/20 16:53, 15F
→
08/20 16:53,
3年前
, 16F
08/20 16:53, 16F
→
08/20 16:54,
3年前
, 17F
08/20 16:54, 17F
→
08/20 16:57,
3年前
, 18F
08/20 16:57, 18F
→
08/20 16:58,
3年前
, 19F
08/20 16:58, 19F
推
08/20 17:07,
3年前
, 20F
08/20 17:07, 20F
→
08/20 18:02,
3年前
, 21F
08/20 18:02, 21F
推
08/20 19:06,
3年前
, 22F
08/20 19:06, 22F
推
08/20 19:49,
3年前
, 23F
08/20 19:49, 23F
推
08/20 21:19,
3年前
, 24F
08/20 21:19, 24F
→
08/20 21:21,
3年前
, 25F
08/20 21:21, 25F
→
08/20 21:21,
3年前
, 26F
08/20 21:21, 26F
→
08/20 21:23,
3年前
, 27F
08/20 21:23, 27F
推
08/20 21:27,
3年前
, 28F
08/20 21:27, 28F
→
08/20 21:30,
3年前
, 29F
08/20 21:30, 29F
推
08/20 21:59,
3年前
, 30F
08/20 21:59, 30F
感謝大大,用這個方法解決了,只是我有個疑問為什麼max count=60,
是因為使用unicodedata.east_asian_width查出來最大的字串是58只要設比他大就好嗎?
另外既然知道最大字元數是58,為什用format string的置左會沒有效果?
https://reurl.cc/7rGY6D 今天增加好多知識阿
※ 編輯: Lyumin (114.41.38.123 臺灣), 08/21/2021 01:07:36
→
08/21 03:20,
3年前
, 31F
08/21 03:20, 31F
→
08/21 03:20,
3年前
, 32F
08/21 03:20, 32F
→
08/21 03:20,
3年前
, 33F
08/21 03:20, 33F
→
08/21 03:21,
3年前
, 34F
08/21 03:21, 34F
→
08/21 03:22,
3年前
, 35F
08/21 03:22, 35F
→
08/21 03:22,
3年前
, 36F
08/21 03:22, 36F
推
08/21 17:45,
3年前
, 37F
08/21 17:45, 37F
→
08/23 00:30,
3年前
, 38F
08/23 00:30, 38F
Python 近期熱門文章
PTT數位生活區 即時熱門文章