目录
1. 数据读写
数据读写的关键是两点,一是路径(路径分为绝对路径和相对路径,绝对路径就是自己指定存放于哪个文件夹,相对路径就是存放于默认文件夹,一般就是和py文件放在一起);二是文件名,文件名的后缀尽可能是xlsx,如果是csv,最好是先使用open函数打开文件,再读取。
import pandas as pd
# 绝对路径格式如:'C:/Desktop/'
file_path = ''
file_name = 'name.xlsx'
csv_name = 'name.csv'
# 读取文件
df = pd.read_excel(file_path + file_name)
csv_file = open(file_path + csv_name)
csv_df = pd.read_excel(csv_file)
# 保存文件,index=False表示不要索引列
df.to_excel(file_path + 'new_name.xlsx', index=False)
csv_df.to_excel(file_path + 'new_name.xlsx', index=False)
上文中未添加路径名称,即使用的是相对路径。
2. 批量操作
2.1 批量保存excel到文件夹
import pandas as pd
# 存储路径格式如:'C:/Desktop/'
file_path = ''
file_name = 'name.xlsx'
df = pd.read_excel(file_path + file_name)
name_list = ['one', 'two', 'three'] # 文件夹名称列表
for name in name_list:
df.to_excel(file_path + name + '.xlsx', index=False)
此处仅是做的演示,在实际操作中,可以利用循环,将每次得到的结果进行保存。
2.2 批量获取文件夹里的文件名
import os
def get_file_name(file_path):
# 获取文件夹里面的所有文件名
# file_path,文件夹的路径
for i, j, k in os.walk(file_path):
file_df = k
out = file_df
return out
file_path = 'C:/Desktop/test/'
all_name = get_file_name(file_path)
此处的路径名需要使用绝对路径,另外文件夹名称后面的‘/’一定不要漏写。
2.3 批量保存excel到sheet
当excel文件较多时,可以考虑保存到一个excel文件下的不同sheet里面,方便进行查阅。
import pandas as pd
file_path = 'C:/Desktop/test'
file_name = 'name.xlsx'
name_list = ['one', 'two', 'three'] # 文件夹名称列表
with pd.ExcelWriter(file_path+'all_data.xlsx')as writer:
for name in name_list:
one_df = pd.read_excel(file_path + name)
one_df.to_excel(writer,sheet_name=name, index=False)
由于保存的数据到sheet,在读取的时候需要使用相应的sheet名称,对应获取的方式如下。
import pandas as pd
file_path = ''
file_name = 'name.xlsx'
df = pd.read_excel(file_path + file_name,sheet_name=None)
sheet_name = [x for x in df.keys()]
本期分享到此结束,如有问题欢迎交流