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文件,