[Pandas]利用Pandas处理excel数据
Python 处理excel的第三包有很多,比如XlsxWriter、xlrd&xlwt、OpenPyXL、Microsoft Excel API等,最后综合考虑选用了Pandas。
Pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。pandas不但可以读取excel中数据还可以修改excel数据以及生成excel文件。
1.抽取excle中数据,将数据以JSON格式输出
1 # -*- coding: utf-8 -*- 2 import pandas as pd 3 import os 4 import json 5 6 # 提取excel表格中数据,将其转换成dateframe类型 7 os.chdir('excel文件地址') 8 9 invoice_data = pd.read_excel('./Invoice_data_Demo.xls', header=0, encoding='utf8') 10 11 sheet_list = [] 12 # 取出excel表头 13 sheet_head = list(invoice_data.columns) 14 sheet_list.append(sheet_head) 15 # 取出excel中每一行数据 16 for i in range(0, len(invoice_data)): 17 data_line = list(invoice_data.loc[i]) 18 data_line = [str(i) for i in data_line] 19 sheet_list.append(data_line) 20 print(sheet_list) 21 22 data_l = json.dumps(sheet_list, ensure_ascii=False) 23 print(data_l)
2.生成excel/csv文件
1 # -*- coding: utf-8 -*- 2 3 import pandas as pd 4 5 a = ['a','b','c'] 6 b = [1,2,3] 7 dit = {'char':a, 'num':b} 8 file_path = r'./output.xlsx' 9 writer = pd.ExcelWriter(file_path) 10 df = pd.DataFrame(dit) 11 # columns参数用于指定生成的excel中列的顺序 12 df.to_excel(writer, columns=['char','num'], index=False,encoding='utf-8',sheet_name='Sheet') 13 writer.save() 14 15 # 生成csv文件 16 df.to_csv(r'./1.csv',columns=['char','num'],index=False,sep=',')
扫码关注公众号【云将数据】,更多大数据及人工智能领域信息!
数据驱动变革-云将skyell。用Flask+Nginx+uWsgi搭建的个人博客:http://www.skyell.cn/