Pandas - 1. 数据的读取和保存
2022-04-29 本文已影响0人
陈天睡懒觉
读取数据
pd.read_excel()
- 读取.xlsx文件
- 文件名可以包含中文
- 读取的内容有中文不会乱码
pd.read_pickle()
- 读取.pickle文件
- 文件名可以有中文
- 读取的内容有中文不会乱码
pd.read_csv()
- 读取.csv文件
- 文件名不可以有中文(会报错)
- 关于中文乱码:可以尝试 encoding='gbk'
读取.csv文件报错的部分原因,在Excel中将.xlsx另存为.csv文件时:
- 选择 CSV UTF-8 格式,有无中文都不会出错(举例文件名末尾csv_utf8)
- 选择 CSV 格式,有中文会出错,无中文不会出错(举例文件名末尾csv)
import pandas as pd
# 读取.xlsx文件
df1 = pd.read_excel('data/安全可靠.xlsx')
# 读取.pickle文件
df2 = pd.read_pickle('data/安全可靠.pkl')
# 读取.csv文件
df3 = pd.read_csv('data/Safe_and_reliable.csv',encoding='gbk')
# 读取.csv文件报错的部分原因
df4 = pd.read_csv('data/Economic_and_efficient.csv') # 不用encoding='gbk'也可读取且中文不乱码
# df5 = pd.read_csv('data/Safe_and_reliable_csv.csv') # 报错'utf-8' codec can't decode byte 0xb5 in position 0: invalid start byte
df5 = pd.read_csv('data/Safe_and_reliable_csv_utf8.csv') # 不用encoding='gbk'也可读取且中文不乱码
df6 = pd.read_csv('data/Economic_and_efficient_csv.csv') # 不用encoding='gbk'也可读取且中文不乱码
保存数据
df.to_pickle()
- 保存成.pkl文件
- 文件中含有中文字符也行
df.to_csv()
- 保存成.csv文件
- 文件中有中文字符时,需要添加 encoding='utf_8_sig',才可避免乱码
- 删除行号 index=False
df.to_excel()
- 保存成.xls/.xlsx文件
- 文件中有中文,不需指明编码,不会乱码
# 保存成.pkl文件
df2.to_pickle('save/Safe_and_reliable.pkl')
# 保存成.csv文件
df2.to_csv('save/Safe_and_reliable.csv',encoding='utf_8_sig',index=False)
# 保存成.xls文件
import xlwt # 不导入也可使用函数
df2.to_excel('save/Safe_and_reliable.xls',index=False)
# 保存成.xlsx文件
import openpyxl # 不导入也可使用函数
df2.to_excel('save/Safe_and_reliable.xlsx',index=False)