数据准备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,覆盖保存

猜你喜欢

转载自www.cnblogs.com/G-Aurora/p/13380299.html