关于《数据格式修改》的简单应用程序(C语言)
至亲爱的博友:
大家好,好久不见了。由于博主还是一名大学在校生,不可避免的需要和指导教师共同完成一些项目,因此前一段时间暂时停止了博客的更新。既然回归博客,那我们就闲话少说直接进入正题。
在平日的项目中,大家有没有遇到过这样的经历:由于项目要求,我们需要处理一批超大数据(通常20GB以上)。但是客户提供的数据格式既不便于直接处理,也不适合输入常用的数据处理软件。这时大家一般是怎样做的呢?类似问题前一段时间就将博主折磨的痛不欲生。
如果大家和博主的遭遇类似,请认真阅读本博代码并好好利用。
说到数据处理,当前最常规的方法就是导入数据库进行处理。但是问题的关键是客户提供的数据格式并不适合常用数据库的输入。
例如:
用户提供数据格式:
101010100=北京
101010200=海淀
101010300=朝阳
101010400=顺义
101010500=怀柔
101010600=通州
101010700=昌平
101010800=延庆
101010900=丰台
101011000=石景山
101011100=大兴
101011200=房山
101011300=密云
101011400=门头沟
101011500=平谷
101011600=八达岭
101011700=佛爷顶
101011800=汤河口
101011900=密云上甸子
101012000=斋堂
101012100=霞云岭
对待这样的数据格式我们该怎么办呢?
博主曾经多次使用Xml文件格式进行数据库创建,更新和读出。下面介绍一段代码(C语言)将上面数据格式导成类似Xml文件的数据格式。
输出文件格式.txt,内容形式:
< city >< cityid >101010100</ cityid >< cityname >北京</ cityname ></ city >< city >< cityid >101010200</ cityid >< cityname >海淀</ cityname ></ city > < city >< cityid >101010300</ cityid >< cityname >朝阳</ cityname ></ city >< city >< cityid >101010400</ cityid >< cityname >顺义</ cityname ></ city > < city >< cityid >101010500</ cityid >< cityname >怀柔</ cityname ></ city >< city >< cityid >101010600</ cityid >< cityname >通州</ cityname ></ city > < city >< cityid >101010700</ cityid >< cityname >昌平</ cityname ></ city >< city >< cityid >101010800</ cityid >< cityname >延庆</ cityname ></ city > < city >< cityid >101010900</ cityid >< cityname >丰台</ cityname ></ city >< city >< cityid >101011000</ cityid >< cityname >石景山</ cityname ></ city > < city >< cityid >101011100</ cityid >< cityname >大兴</ cityname ></ city >< city >< cityid >101011200</ cityid >< cityname >房山</ cityname ></ city > < city >< cityid >101011300</ cityid >< cityname >密云</ cityname ></ city >< city >< cityid >101011400</ cityid >< cityname >门头沟</ cityname ></ city > < city >< cityid >101011500</ cityid >< cityname >平谷</ cityname ></ city >< city >< cityid >101011600</ cityid >< cityname >八达岭</ cityname ></ city > < city >< cityid >101011700</ cityid >< cityname >佛爷顶</ cityname ></ city >< city >< cityid >101011800</ cityid >< cityname >汤河口</ cityname ></ city > < city >< cityid >101011900</ cityid >< cityname >密云上甸子</ cityname ></ city >< city >< cityid >101012000</ cityid >< cityname >斋堂</ cityname ></ city > < city >< cityid >101012100</ cityid >< cityname >霞云岭</ cityname ></ city > |
代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
#include<stdio.h> int main() { FILE *fin,*fout; fin = fopen ( "input.txt" , "r" ); fout = fopen ( "output.txt" , "w" ); char x; while ( fscanf (fin, "%c" ,&x) == 1) { if (x == '\n' ) { fprintf (fout, "</cityname></city><city><cityid>" ); } else if (x == '=' ) { fprintf (fout, "</cityid><cityname>" ); } else { fprintf (fout, "%c" ,x); } } fclose (fin); fclose (fout); printf ( "end\n" ); return 0; } |
得到output文件后仅需少量处理就可以得到优质的Xml文件了,接下来运用数据库所有的问题都将迎刃而解。
关于《数据格式修改》的简单应用程序(C语言)的更多相关文章
- android 获取当前版本号/修改自定义的应用程序的版本号
1.获取当前版本号 PackageManager pm = getPackageManager(); PackageInfo pi = pm.getPackageInfo(getPackageName ...
- ACEXML解析XML文件——简单示例程序
掌握了ACMXML库解析XML文件的方法后,下面来实现一个比较完整的程序. 定义基本结构 xml文件格式如下 <?xml version="1.0"?> <roo ...
- 用python开发简单ftp程序
根据alex老师视频开发的简单ftp程序,只能实现简单的get功能 ftp客户端程序: #!/usr/bin/env python #_*_ coding:utf-8 _*_ import socke ...
- 关于SIGSLOT的一个简单的程序
废话少说直接看代码即可,这只是一个简单的程序,可以帮我们简单地明白SIGSLOT是怎么回事.至于深入研究自己去百度吧. #include "sigslot.h" using nam ...
- 简单购物车程序(Python)
#简单购物车程序:money_all=0tag=Trueshop_car=[]shop_info={'apple':10,'tesla':100000,'mac':3000,'lenovo':3000 ...
- 基于C语言libvirt API简单小程序
libvirt API简单小程序 1.程序代码如下 #include<stdio.h> #include<libvirt/libvirt.h> int getDomainInf ...
- 图解简单C程序的运行时结构
程序在内存中的存储分为三个区域,分别是动态数据区.静态数据区和代码区.函数存储在代码区,全局变量以及静态变量存储在静态数据区,而在程序执行的时候才会在动态数据区产生数据.程序执行的本质就是代码区的指令 ...
- MFC制作简单通讯录程序
学习c++和MFC一段时间了,苦于没有项目实战,所以自己写了一个简单的简单通讯录程序,以前用c#写简单很多,例程是这本书上的实例,我的第一个winform程序也是从这本书上学的,总结c#写的话更简单, ...
- Kubernetes学习笔记之安装minikube并运行个简单应用程序
前言:本笔记仅记录学习记录,可能存在错误!!!使用的环境是Ubuntu Desktop 20.04,也有用Windows 10 操作的,根据的文档是minikube的文档教程,链接:https://m ...
随机推荐
- installshield 32位打包和64位打包的注意事项
原文:installshield 32位打包和64位打包的注意事项 32/64位问题要把握几点:1. 明确你的产品是否需要区分32/64位2. 明确你的产品中是否有32/64位的服务注册3. 了解In ...
- MVC+UnitOfWork+Repository+EF
MVC+UnitOfWork+Repository+EF UnitOfWork+Repository模式简介: 每次提交数据库都会打开一个连接,造成结果是:多个连接无法共用一个数据库级别的事务,也就无 ...
- ASP.NET 5 Hello World
ASP.NET 5系列教程 (二):Hello World 本篇文章内容比较基础,主要是向大家展示如何创建一个 ASP.NET 5 工程,主要包含内容如下: 创建ASP.NET 5 工程 添加 T ...
- C# 截取图片区域,并返回所截取的图片
/// <summary> /// 截取图片区域,返回所截取的图片 /// </summary> /// <param name="SrcImage" ...
- 1.3 LINQ查询
LINQ最具突破性的优势在于将文本查询与对象操作完美集成,它让查询数据和操作对象一样安全和轻松.查询(Query)是LINQ的核心概念之一. 传统意义上的数据查询语言,通常是比较易懂,具有一定语义的文 ...
- [Dev Blog] KCV插件 —— Provissy Tools 。
承蒙各位支持! 正式版已推出,请前往http://tieba.baidu.com/p/3398574166 或者前往:http://provissy.com/?p=7 请不要在这里回复,我无法保证回复 ...
- 设置符合条件的DataGridView的行的颜色的两种方法
Private Sub dgvInfo_RowPrePaint(sender As Object, e As DataGridViewRowPrePaintEventArgs) Handles dgv ...
- svn搭建
原文:svn搭建 二.Subversion的安装与测试 Subversion的配置方式有很多种,同时也可以配置不同的操作系统之上,本文我讲解的是Subversion 1.5.4 for Apache2 ...
- 如何有效的遍历django的QuerySet
最近做了一个小的需求,在django模型中通过前台页面的表单的提交(post),后台对post的参数进行解析,通过models模型查询MySQL,将数据结构进行加工,返回到前台页面进行展示.由于对dj ...
- asp.net页面生命周期回顾
---根据一讲师所讲做了一下笔记,仅供参考 会存在些错误 页面声明周期: 1.HttpApplication在第11和第12个事件之间开始了页面声明周期,调用了第8个事件创建实例的pr(Process ...