import pandas as pd
pandas读取文件的语法: pandas.read_xxx 、 xxx指的是文件的类型。
csv_DataFrame = pd.read_csv(
filepath_or_buffer='./data.csv', # 文件的路径 + 名称
sep=',', # 分隔符 ---默认就是 ','
delimiter=',', # 分隔符,---sep 和 delimiter只需要指定一个即可!
encoding='gbk', # 文件的编码格式
header=0, # 列索引---默认infer(自动识别); 可以强制指定行下标 将该行作为列索引
# header=[0,1], # 也可以传入列表 指定多行作为列索引,在列表中指定行索引
index_col=0, # 行索引---默认为None(自动生成序号作为行索引);也可以指定列下标 将该列作为行索引
# index_col=[0,"column"], # 同也可以传入列表 指定多列作为行索引,在列表中指定列索引 或 列名称(可混用)
usecols=[0, 1, 2], # 指定要读取的列,可传入列索引 或 列名称(不可混用)
names=['aaa','bbb','ccc'], # 设置新的列索引名称
nrows=10, # 读取指定的行数
skiprows=100, # 先略过前100行,然后再继续读取
engine='python', # 指定读取所用的引擎
)
print('csv_DataFrame:\n', type(csv_DataFrame)) # 读取的数据是DataFrame结构
detail = pd.read_excel(
io='./data.xls', # 文件的路径 + 名称
sheet_name=0, # 表示读取第0个sheet,默认为0
header=0, # 以第0行作为列索引 可以参考csv
# names=[....], # 给数据起新的列索引 可以参考csv
# index_col=[...], # 以指定的列作为行索引 可以参考csv
# …………
# 其他参数 可以参考csv理解!
)
print('detail:\n', type(detail)) #
# 读取excel中指定的 sheet
fp = pd.read_excel(
io='./data.xls',
sheet_name=[0,1], # 传入列表,指定Sheet索引
)
print('fp的类型:', type(fp)) # --字典,Key为Sheet的索引(与sheet_name相同),Value为DataFrame
# 获取所有的 key:可使用 detail.keys()输出所有Key
print('fp中所有的key:', fp.keys()) # dict_keys([0, 1])
# 分别获取 数据
detail1 = fp[0]
detail2 = fp[1]
# 一次读取excel中所有的 sheet
fp = pd.read_excel(
io='./data.xls',
sheet_name=None, # 如果给None,则表示读取所有的sheet
)
print('fp的类型:', type(fp)) # ---类字典, Key为Sheet名称,Value为DataFrame
# 获取所有的 key:可使用 detail.keys()输出所有Key
print('fp中所有的key:', fp.keys()) # dict_keys(['Sheet1', 'Sheet2'])
# 分别获取 数据
detail1 = fp['Sheet1']
detail2 = fp['Sheet2']
csv_DataFrame.to_csv(
path_or_buf='./data.csv', # 保存的路径 及名称
sep=',', # 分隔符
columns=['aaa'], # 指定要保存的列,必须用列名称,默认为None(保存全部)
header=True, # 是否保存列索引,默认为True
index=False, # 是否保存行索引,默认为True
mode="w", # 保存的模式--默认是写模式(w)--覆盖之前的! ---a 追加模式
)
detail.to_excel(
excel_writer='./data/aaa.xls', # 可以是文件的路径+名称 或者是 excel_writer对象
sheet_name="SheetName", # 保存的sheet的名称
header=True,
index=False,
# columns=[....], # 指定要保存的列
)
直接保存—只能保存一个sheet,后续的会将前面的覆盖掉!
如果想要在一个excel中保存多个sheet的数据 —需要借助 excel_writer对象
# 1、生成 excel_writer对象
writer = pd.ExcelWriter(
path='./data.xls',
)
# 2、将数据写入 excel_writer对象
detail1.to_excel(
excel_writer=writer,
sheet_name='sheet1'
)
detail2.to_excel(
excel_writer=writer,
sheet_name='sheet2'
)
# 3、进行保存 excel_writer对象
writer.save()
# 4、关闭excel_writer对象
writer.close()