python对Excel文件的处理与分析

1、针对Excel文件,查看Excel文件各工作簿的基本信息

源数据“测试数据.xlsx”,该文件只有一个sheet1:

查看Excel文件的基本信息代码:

#!/usr/bin/env python3
#读取Excel文件
from xlrd import open_workbook
input_file = "F://python入门//数据2//测试数据.xlsx"
#打开目标文件
workbook = open_workbook(input_file)
#打印Excel所有的工作簿数
print('Number of worksheets:',workbook.nsheets)
#打印每个工作簿
for worksheet in workbook.sheets():
    #将每个sheet中的工作簿名称,行数,列数计算出来
    print("Worksheet name:",worksheet.name,"\tRows:",worksheet.nrows,\
          "\tColumns:",worksheet.ncols)

结果:

Number of worksheets: 1
Worksheet name: Sheet1  Rows: 6         Columns: 6

2、针对Excel文件,复制Excel的内容到另一个Excel文件

源数据“测试数据.xlsx”:

 将“测试数据.xlsx”复制到“测试数据copy.xlsx”中:

#!/usr/bin/env python3
#读取Excel文件
import pandas as pd
input_file = "F://python入门//数据2//测试数据.xlsx"
output_file = "F://python入门//数据2//测试数据copy.xlsx"
data_frame = pd.read_excel(input_file,sheetname='one')
writer = pd.ExcelWriter(output_file)
data_frame.to_excel(writer,sheet_name = 'newsheet',index=False)
writer.save()

测试数据copy.xlsx”中的结果:

3、针对Excel文件,筛选特定的行

名为“测试数据.xlsx”的源数据:

 将“$”符号去掉,并筛选出花费大于700的目标数据:

#!/usr/bin/env python3
#读取Excel文件
import pandas as pd
input_file = "F://python入门//数据2//测试数据.xlsx"
output_file = "F://python入门//数据2//测试数据copy.xlsx"
data_frame = pd.read_excel(input_file,sheetname='one',index_col = None)
#将‘$’替换为空
data_frame_value_meeets_condition = data_frame['花费'] = data_frame['花费'].replace(r'$','')
#将格式转化为float型
data_frame_value_meeets_condition = data_frame['花费'] = data_frame['花费'].astype(float)
#筛选花费大于700的目标数据
data_frame_value_meeets_condition = data_frame[data_frame['花费'].astype(float) > 700.00]
writer = pd.ExcelWriter(output_file)
data_frame_value_meeets_condition.to_excel(writer,sheet_name = 'newsheet',index=False)
writer.save()

测试数据copy.xlsx”中的结果:

4、针对Excel文件,筛选出行中的值属于某个集合的目标数据

名为“测试数据.xlsx”的源数据:

 将在数据集['18256785181','13698762112']的数据取出:

#!/usr/bin/env python3
#读取Excel文件
import pandas as pd
input_file = "F://python入门//数据2//测试数据.xlsx"
output_file = "F://python入门//数据2//测试数据copy.xlsx"
data_frame = pd.read_excel(input_file,sheetname='one',index_col = None)
important_dates = ['18256785181','13698762112']
data_frame_value_in_set = data_frame[data_frame['电话号码'].isin(important_dates)]
writer = pd.ExcelWriter(output_file)
data_frame_value_in_set.to_excel(writer,sheet_name = 'newsheet',index=False)
writer.save()

测试数据copy.xlsx”中的结果:

5、针对Excel文件,将行中符合特定模式的值取出

名为“测试数据.xlsx”的源数据:

将行中姓名中以“高”开头的目标数据取出:

#!/usr/bin/env python3
#读取Excel文件
import pandas as pd
input_file = "F://python入门//数据2//测试数据.xlsx"
output_file = "F://python入门//数据2//测试数据copy.xlsx"
data_frame = pd.read_excel(input_file,sheetname='one',index_col = None)
data_frame_value_matches_pattern = data_frame[data_frame['姓名'].str.startswith("")]
writer = pd.ExcelWriter(output_file)
data_frame_value_matches_pattern.to_excel(writer,sheet_name = 'newsheet',index=False)
writer.save()

测试数据copy.xlsx”中的结果:

6、针对Excel文件,选取特定列

名为“测试数据.xlsx”的源数据:

从源数据中选取第一列和第四列:

#!/usr/bin/env python3
#读取Excel文件
import pandas as pd
input_file = "F://python入门//数据2//测试数据.xlsx"
output_file = "F://python入门//数据2//测试数据copy.xlsx"
data_frame = pd.read_excel(input_file,sheetname='one',index_col = None)
data_frame_column_by_index = data_frame.iloc[:,[0,3]]
writer = pd.ExcelWriter(output_file)
data_frame_column_by_index.to_excel(writer,sheet_name = 'newsheet',index=False)
writer.save()

测试数据copy.xlsx”中的结果:

7、针对Excel文件,

8、针对Excel文件,

9、针对Excel文件,

猜你喜欢

转载自www.cnblogs.com/xiao02fang/p/12632790.html
今日推荐