iT邦幫忙

0

有關Python匯出CSV的問題

  • 分享至 

  • xImage

各位大大

我現在製作一個XML解析的程式,我使用Beautiful soup find all和get text來解析XML,再使用表格型式輸出CSV

因解析的內容會有逗號 (例如:我很喜歡台灣,你喜歡嗎),當我匯出CSV時會出現因有逗號而導致CSV有移位情況,請問我有什麼方法來解決這問題呢?

謝謝

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

1
海綿寶寶
iT邦大神 1 級 ‧ 2023-11-18 07:34:22

加上雙引號

我很喜歡台灣,你喜歡嗎

改成

"我很喜歡台灣,你喜歡嗎"

即可

看更多先前的回應...收起先前的回應...
Anson iT邦新手 5 級 ‧ 2023-11-18 08:47:21 檢舉

謝謝大大解答
不過,我想請問我應該怎樣將這句加上""呢?
因為我無可能改變XML的內容,我可以把XML拆解後,再加上""嗎?

對不起,我是Python新手
現附上我的Code的節錄

謝謝

https://ithelp.ithome.com.tw/upload/images/20231118/20131118zorI6Y7DAQ.jpg

參考這篇
假設是 TIT
就改成

f.write("{0},{1},{2},\"{3}\",{4},{5},{6}".format(CN,NC,DIS,TIT,JD,CD,MD))

試試看

對不起,我是Python新手

如果你真心認為自己是新手
建議你從基礎語法學起
不要一開始就寫功能

Anson iT邦新手 5 級 ‧ 2023-11-18 23:20:42 檢舉

謝謝大大
請問這個作法是什麼意思( \ "{3} \ "),我在書本上找不到這個語法呢!為何 \ 會放在後面?

其實我都有看書和在網上看教學片段,所以基本語法也大概都知道
不過我作這個程式都遇上好多挫折,例如我弄了很久,在PRINT的時候是能輸出全部拆解的資料,但當匯出檔案時,就只得最後一筆資料,最後才發現是get_text的問題,用get text拆出來的不是list,還有的是原來python print出來的結果和匯出是兩回事。

另外我有個問題始終都不明白,為何使用beautiful soup時,不會用import beautifulsoup,而用另一語法(from bs4 import beautifulsoup),到底兩個語法作用上(除了可少輸入字數外)有何分別呢?其他module也可用這語法嗎?

這個作法是什麼意思( \ "{3} \ ")

只是在「第4個變數前後加雙引號」

由於字串是用雙引號來定義, 例如"{0},{1},{2},{3}"
如果直接加雙引號會出錯, 例如"{0},{1},{2},"{3}""(你可以試試看)
所以要再加\讓python把雙引號當成單純的字元

詳細的說明
都在我上面提供的連結(參考這篇)
可見你根本沒點開來看
/images/emoticon/emoticon06.gif

現在小朋友不知道 這篇(變色)是超連結啦,上次也是有一個這樣的.

Anson iT邦新手 5 級 ‧ 2023-11-19 10:46:36 檢舉

大大對不起,我因為太集中看那黑色底的語法,所以看不到那連結。
真的不好意啊!很抱歉!

另外再想請教,我有個問題始終都不明白,為何使用beautiful soup時,不會用import beautifulsoup,而用另一語法(from bs4 import beautifulsoup),到底兩個語法作用上(除了可少輸入字數外)有何分別呢?其他module也可用這語法嗎?

import 和 from ... import 的差別,請看這篇

確定看懂了之後
有空可以看這篇關於bs4的冷知識
(如果不確定就看下面這篇,可能會更混淆觀念,沒有什麼好處)

現在小朋友不知道 這篇(變色)是超連結啦,上次也是有一個這樣的.

/images/emoticon/emoticon51.gif

Anson iT邦新手 5 級 ‧ 2023-11-19 22:07:34 檢舉

謝謝大大
感謝您的協助和幫忙

我要發表回答

立即登入回答