读书笔记--python数据可视化--005_导出数据到JSON、CSV和EXcel
来源:互联网 发布:淘宝卖家高信誉等级 编辑:程序博客网 时间:2024/06/06 13:03
在做数据可视化时,我们通常只是使用其他人的数据,所以导入和读取数据是只要的工作。然而,不管是我们还是他人的需要,不管是现在还是将来的需要,我们缺失需要把产生或者处理过的数据导出或写到某个地方。
对于Excel写的部分,需要安装xlwt模块。
$ pip install xlwt
示例代码:
#-*- coding: UTF-8 -*-''' ################################################# # Author : 余欢 # Date : Dec 27, 2015 10:30:29 AM #company : 南京师范大学--大数据实验室 # description : ################################################# '''import argparseimport csvimport jsonimport osimport structimport sysimport xlwttry: import cStringIO as StringIOexcept: import StringIOdef import_data(import_file): ''' 从数据文件中导入数据,这里使用定宽数据,格式为: 161322597 0386544351896 0042 ''' mask="9s14s5s" data = [] with open(import_file, "r") as f: for line in f: #将一行解析成一个元组 fields = struct.unpack_from(mask, line) #清楚每个字段两侧的空白字符,并打包到一个列表中 data.append(list([f.strip() for f in fields])) return datadef write_data(data, export_format): if export_format == "csv": return write_csv(data) elif export_format == "json": return write_json(data) elif export_format == "xlsx": return write_xlsx(data) else: raise Exception("Illegal format defined")def write_csv(data): ''' 将数据导入导CSV文件中.将csv文件当作一个字符串返回 ''' f = StringIO.StringIO() writer = csv.writer(f) for row in data: writer.writerow(row) return f.getvalue()def write_json(data): ''' 将数据导入导json文件中 ''' return json.dump(data)def write_xlsx(data): ''' 将数据导入导Excel文件中 ''' book = xlwt.Workbook() sheet1 = book.add_sheet("Sheet 1") row = 0 for line in data: col = 0 for datum in line: print datum sheet1.write(row, col, datum) col += 1 row += 1 if row > 65535: print >> sys.stderr, "一张工作薄无法存储大于65535行数据" break #保存文件并返回 f = StringIO.StringIO() book.save(f) return f.getvalue()if __name__ == "__main__": ''' 解析命令行参数中传入的文件路径,导入数据并导出成要求的格式 ''' #1 解析命令行参数 parser = argparse.ArgumentParser() parser.add_argument("import_file", help="Path to a fixed-width data file.") parser.add_argument("export_format", help="Export format:json, cav, xlsx") args = parser.parse_args() if args.import_file is None: print >> sys.stderr, "您没有输入源数据文件!" sys.exit(1) if args.export_format is None: print >> sys.stderr, "您必须指定要导出的数据格式!" sys.exit(1) if not os.path.isfile(args.import_file): print >> sys.stderr, "您输入的源数据文件的路径有误:%s" % args.import_file sys.exit(1) #读取数据 data = import_data(args.import_file) #打印导出的数据 print write_data(data, args.export_format)
命令行的命令:
/root/Desktop/data-visualization/data_visualization_Code/3367OS_02_Code/ch02-fixed-width-1M-2.data xlsx
注意:
[1]这里面的用fields = struct.unpack_from(mask, line)这种方式导入数据时发现不能导入数据量大的数据,我于是只是用100行的数据进行实验。所以,建议使用NumPy的数据导入方式。要不然会报错:
struct.error: unpack_from requires a buffer of at least 28 bytes
1 0
- 读书笔记--python数据可视化--005_导出数据到JSON、CSV和EXcel
- 读书笔记--python数据可视化--001_读取CSV文件数据
- 读书笔记--python数据可视化--002_读取Excel文件数据
- 读书笔记--python数据可视化--004_读取JSON数据
- 读书笔记--python数据可视化--005_从数据库导入数据
- 网页端中将表格数据和JSON数据读取(导出)到本地的excel和csv文件中
- Mongodb数据导出到json或csv
- d3数据可视化----CSV&JSON
- 读书笔记--python数据可视化--006_从数据库导入数据
- C#_把dataTable数据导出到CSV,XLS文件
- 将Excel或CSV文件中的数据导出到DataSet
- Oracle 导出数据到Excel、CSV、TXT、HTMl
- PHP导出MySQL数据到Excel或者CSV文件
- 读书笔记--python数据可视化--003_读取定宽数据文件
- 读书笔记--python数据可视化--007_清理异常值
- 导出数据到CSV和EXCEL文件,过长的数值被转义的解决方法
- C#导出数据到CSV和EXCEL文件时,过长的数值被转义的解决方法
- C#导出数据到CSV和EXCEL文件时数字文本被转义的解决方法
- GCD 深入理解(一)
- EMC联邦帝国前世今生
- C++笔记——虚析构函数的使用场景
- leetcode笔记:Same Tree
- 回调函数与函数指针
- 读书笔记--python数据可视化--005_导出数据到JSON、CSV和EXcel
- session_unset()与session_destroy()
- 黑夜中的火柴之光
- 同余模定理
- 关于navicat导入excel的问题
- xListView上拉刷新下拉加载
- Qt学习 之 Socket通信
- 【看书】int的范围
- webapi的form格式请求的问题