python处理报错_python3报错及解决方案/须注意的细节(持续更新)
問題:
編碼的問題導致。在pymysql.connect()創建連接時,參數charset="utf8",而非"utf-8".
2、latin-1 codec can't encode
characters
編碼的問題導致。數據庫的編碼和數據源的編碼不一致,并且包含了不能處理的字符。
出現這種報錯時,一般是在open一個文件后,文件的編碼異常。如果僅為若干行有異常,則可在open()命令中添加參數errors="ignore",以刪除編碼有問題的行;或errors="replace",用特殊字符進行替換。個人建議用前者。
3、Python 中pandas讀取文件Initializing from file failed
問題:
當你用pandas讀取文件報這種錯誤時,一般是因為你的文件名或文件路徑中帶有中文,例如:
res = pd.read_csv('我的文件.csv')
這種情況就會報錯,只需要這樣更改就可以:
f = open('我的文件.csv')
res = pd.read_csv(f)
問題解決。
4、作圖像分類時,通過cv2獲取圖像數據:
img=cv2.imread('圖像路徑'),得到的img為NONE。
問題:主要由于文件路徑中帶有中文字符。全使用英文字符時即正常。
5、使用pickle將對象存儲到文件中時出現 TypeError: write() argument must be
str, not bytes
解釋:pickle默認操作二進制文件,使用文件函數的時候需要注意,否則出現 TypeError
解決方法:open函數將參數'w'更改為 'wb' 可以正常運行。
拓展:w是以文本方式打開文件,wb是二進制方式打開文件。
6.dataframe操作中,通過a[0][0]=的方式直接給datarame中的元素賦值,發生如下報錯:
A value is trying to be set on a copy of a slice from a
DataFrame
這種情況,當數據量較小時不會報錯,一旦數據量變大,則會發生錯誤。
解決方法:解決方法就是,不要直接將一個dataframe中的元素賦給另一個,而是將需要的數據重新生成一個list,再通過df['x']
= list的方式,將該列的數據進行替換。親測不會出現報錯。
7.安裝tensorflow,import 的時候報錯:
FutureWarning: Conversion
of the second argument of issubdtype from `float` to `np.floating`
is
解決方法:
對h5py進行更新升級
分享:
喜歡
0
贈金筆
加載中,請稍候......
評論加載中,請稍候...
發評論
登錄名: 密碼: 找回密碼 注冊記住登錄狀態
昵???稱:
評論并轉載此博文
發評論
以上網友發言只代表其個人觀點,不代表新浪網的觀點或立場。
總結
以上是生活随笔為你收集整理的python处理报错_python3报错及解决方案/须注意的细节(持续更新)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 判断随机抽取代码_问卷调查:定量研究中的
- 下一篇: 删除计算机文件的几种方法,电脑删除不了文