iT邦幫忙

1

Python 請問怎麼把網頁表格變成CSV之後不會變成亂碼

  • 分享至 

  • xImage
import requests
import pandas as pd
import numpy as np
import csv
res = requests.get("https://isin.twse.com.tw/isin/class_main.jsp?owncode=&stockname=&isincode=&market=1&issuetype=1&industry_code=&Page=1&chklike=Y")

df = pd.read_html(res.text)[0]

df = df.drop([0,1,5,8,9],axis=1)
df.columns = df.iloc[0]
df = df.iloc[1:]
df = df.set_index("有價證券名稱")
df = df.to_csv()
print(df)
with open('D:\A/df.csv','a',encoding ='utf-8')as csvfile:
    writer = csv.writer(csvfile)
    writer.writerow(df)

我想把抓下來的網頁資料轉成excel可是轉成之後反而會出現亂碼要怎麼更改
還有一個問題是能不能只把有"價證券名稱"這段資料留下就好?

看更多先前的討論...收起先前的討論...
froce iT邦大師 1 級 ‧ 2021-03-09 16:24:29 檢舉
office版本?
2019可以讀UTF-8,要不然你就得改encoding
cancelpc iT邦新手 3 級 ‧ 2021-03-09 16:27:57 檢舉
csv 擋頭要加入 BOM(utf-8 with BOM)
才會自動辨識成 utf-8,不然仍會當成 big5 的 csv 開啟,顯示亂碼。
gitoto123 iT邦新手 5 級 ‧ 2021-03-09 17:33:13 檢舉
我office是2019
請問BOM這個要加在哪裡(我找了好多內容都看不懂><)
倒是找到用txt另存成有BOM的utf-8
不過有很多逗號=-=
gitoto123 iT邦新手 5 級 ‧ 2021-03-09 19:56:07 檢舉
我找到了utf-8那改成utf-8-SIG(BOM)的樣式就可以了=-=
現在我要解決逗號(字串)的問題了謝謝各位><
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友回答

立即登入回答