1. 程式人生 > 實用技巧 >資料準備1 資料匯入、匯出

資料準備1 資料匯入、匯出

資料準備1 資料匯入、匯出

 

讀取Excel(.xlrx檔案)並進行匯出備份

import pandas as pd
from pandas import DataFrame

# Pandas可以直接從xlsx(excel)、csv等檔案中匯入資料,也可以輸出到xlsx(excel)、csv格式中

score = DataFrame(pd.read_excel(io='C:\\Users\\HP\\Desktop\\12.xlsx'))
score.to_excel(excel_writer='C:\\Users\\HP\\Desktop\\12_bk1.xlsx')
print(score)

 

讀取Excel(.csv檔案)並進行匯出備份

data = DataFrame(pd.read_csv('C:\\Users\\HP\\Desktop\\12.csv'))
data.to_csv('C:\\Users\\HP\\Desktop\\12_csvbk.csv')
print(data)

 

Error 解決

  • xlrd.biffh.XLRDError: Unsupported format, or corrupt file: Expected BOF record; ...
    

    本來的檔案型別是"Microsoft Excel 逗號分隔值檔案 (.CSV)",出現這個報錯後我們將檔案另存為"Excel工作薄",注意修改後要將程式碼中的.csv修改為.xlsx

    如果要讀取.csv格式,應該使用pandas.read_csv()

  • SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3
    

    不能直接copy windows的路徑,因為\在python中表示轉義

    一般使用\轉義為'',或者在字串前加r或R,表示"該字串是非轉義的原始字串"

    另外,字串前加u或U表示"該字串是Unicode字串"

  • ValueError: No engine for filetype: 'csv'
    

    將to_excel()改為to_ csv ()

  • UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc8 in position 0: invalid continuation byte
    

    原因:字符集不匹配,原來.csv使用的字符集是ANSI,需要改為utf8

    解決方法1:將原來.csv檔案以notepad++開啟,全選並剪下,將編碼改為utf8,貼上,儲存
    解決方法2:將原來.csv檔案以記事本開啟,另存為,選擇編碼為utf8,覆蓋儲存