zoukankan      html  css  js  c++  java
  • 关于《数据格式修改》的简单应用程序(C语言)

    关于《数据格式修改》的简单应用程序(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 == ' ')
            {
                fprintf(fout,"</cityname></city><city><cityid>");
     
            }
            else if(x == '=')
            {
                fprintf(fout,"</cityid><cityname>");           
            }
            else
            {
                fprintf(fout,"%c",x);
            }
        }
     
        fclose(fin);
        fclose(fout);
        printf("end ");
        return 0;
    }

      得到output文件后仅需少量处理就可以得到优质的Xml文件了,接下来运用数据库所有的问题都将迎刃而解。

  • 相关阅读:
    使用Newtonsoft进行JSON序列化时将枚举序列化为字符串的方法
    通过javac导出Jar包
    JAVA中JDBC连接Mysql数据库简单测试
    使用Swashbuckle.AspNetCore生成.NetCore WEBAPI的接口文档
    CentOS7中使用yum安装Nginx的方法
    Dockerfile 指令 ADD 和 COPY介绍
    Azure Web应用中设置静态虚拟目录的方法(比如部署Django需要用到)
    pip常用命令(转载)
    android发布新版忘记keystore(jks)密码终极解决方案
    IntelliJ Idea 常用快捷键列表
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/3164078.html
Copyright © 2011-2022 走看看