csv转json文件

今天因为需要帮一个同事的新闻内容录入为html, 每次手改不方便,所以就弄了个csv(excel)转json的c++程序,然后再利用ejs把它渲染成网页,打开渲染好的网页再保存(不能保存源文件,不然还是空的),就可以把内容弄成一个html了,此作mark,以下为程序

// convert.cpp
#include <stdio.h>
#include <string>
#include <iostream>
using namespace std;
int main() {freopen("in.csv", "r", stdin);freopen("json.js", "w", stdout);string str, s[50];int g = 0;int status = 0;char ch;str = "";while((ch = cin.get()) != EOF) {str += ch;}for(int i = 0; i < str.size(); i++) {if(status == 0) {if(str[i] == '\"') {status = 1;} else {s[g] += str[i];status = 2;}} else if(status == 1) {if(str[i] == '\"') {if(i + 1 >= str.size()) {g++;break;} else if(str[i + 1] == '\"') {s[g] += '\"';++i;} else if(str[i + 1] == ',') {status = 0;++g;++i;} else if(str[i + 1] == '\n') {status = 0;++g;++i;}} else {s[g] += str[i];}} else if(status == 2) {if(str[i] == ',') {++g;} else if(str[i] == '\n') {++g;} else {s[g] += str[i];}}}int x = 0;puts("var data = [");string name[] = {"title", "detail", "img", "url"};for(int i = 0; i < g; i++) {if(x == 0) {if(i == 0) {puts("\t{");} else {puts("\t},");puts("\t{");}}cout << "\t\t" << name[x] << ": \"" << s[i] << "\"" << (x == 3 ? "" : ",") << endl;x = (x + 1) % 4;}puts("\t}");puts("]");return 0;
}

 

转载于:https://www.cnblogs.com/yedeying/p/3658051.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/359948.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

探测服务器操作系统,探测服务器操作系统工具

探测服务器操作系统工具 内容精选换一换lib库获取方式不同&#xff0c;编译环境配置方法不同&#xff0c;下面分别介绍。根据Mind Studio安装服务器操作系统及架构与硬件环境是否相同&#xff0c;编译环境分为如下两种场景&#xff1a;若Mind Studio安装服务器操作系统及架构与…

Java Web App体系结构

我曾经利用Servlet&#xff0c;JSP&#xff0c;JAX-RS&#xff0c;Spring框架&#xff0c;Play框架&#xff0c;带有Facelets的JSF和一些Spark框架。 以我的拙见&#xff0c;所有这些解决方案都远非面向对象和优雅的。 它们都充满了静态方法&#xff0c;无法测试的数据结构和肮…

android listview使用自定义的adapter没有了OnItemClickListener事件解决办法

在使用listview的时用使用自定义的adapter的时候&#xff0c;如果你的item布局中包含有Button&#xff0c;Checkable继承来的所有控件&#xff0c;那么你将无法获取listview的onItemClickListener事件是由于Button&#xff0c;Checkable继承来的所有控件或默认获取焦点。解决办…

mysql用的是标准sql_标准SQL语言的用法_MySQL

SQL语言是目前最通用的关系数据库语言。ANSI SQL是指由美国国家标准局(ANSI)的数据库委员会制定的标准SQL语言&#xff0c;多数关系数据库产品支持标准SQL语言&#xff0c;但是它们也往往有各自的SQL方言。在分层的软件结构中&#xff0c;关系数据库位于最底层&#xff0c;它的…

三星有网络显示无网络连接到服务器,三星s5296连接了网络为什么不能用 看完这些原因就知道了...

1、无线网络本身有问题&#xff1a;如果手机连接上WiFi但却上不了网&#xff0c;首先要检查一下无线网络本身是否存在问题。这时候可以检查一下其他联网设备是否可以正常上网&#xff0c;如果可以的话&#xff0c;说明无线网络网络本身是没有问题的。如果其他联网设备也不能上网…

Mono for Android 篇二 使用Spinner 实现下拉列表读取Browser.BookmarksUri

http://www.cnblogs.com/ivanyb/archive/2013/03/05/2944818.html 1、首先在VS2010里面创建一个Android Application 简单说明一下解决方案中各个文件的作用&#xff1a; AndroidManifest.xml&#xff1a;项目环境配置文件&#xff0c;指明了使用Android SDK的版本&#xff0c;…

mysql不复制数据_windows mysql不停止服务复制数据

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里云数据库专家保驾护航&#xff0c;为用户…

C++ 中的类模板

原文连接&#xff1a;http://see.xidian.edu.cn/cpp/biancheng/view/213.html 有时&#xff0c;有两个或多个类&#xff0c;其功能是相同的&#xff0c;仅仅是数据类型不同&#xff0c;如下面语句声明了一个类&#xff1a;class Compare_int{ public : Compare(int a,int b…

学生机房管理服务器系统设计,广东工业大学数据库课程设计机房管理系统设计...

《广东工业大学数据库课程设计机房管理系统设计》由会员分享&#xff0c;可在线阅读&#xff0c;更多相关《广东工业大学数据库课程设计机房管理系统设计(27页珍藏版)》请在人人文库网上搜索。1、课程设计个人报告课程名称 数据库应用与设计 _题目名称 机房管理系统 _学生学院 …

mysql磁盘临时表清理_mysql 创建大量磁盘临时表

发现 mysql 中创建的临时表基本都是磁盘临时表&#xff0c;对此进行排查。最后为临时表机制说明。通过查看 mysql 状态变量&#xff0c;看到创建的临时表基本都是磁盘临时表。查看临时表配置&#xff0c;默认配置 16M&#xff0c;配置并没有问题。创建两个表&#xff0c;做一个…

吃鸡服务器8月10日维护,《黑潮之上》2021年8月10日不停服维护公告

在黑潮之上手游中2021年8月10日更新了哪些有趣的内容呢&#xff1f;想了解本次更新情况如何的小伙伴们&#xff0c;接下来就让我们一起来看一下吧&#xff01;各位接触者:为了提供良好的游戏体验&#xff0c;保证服务器稳定运行&#xff0c;《黑潮之上》将于2021年8月10日早5:0…

资格赛:题目1:同构

时间限制:2000ms单点时限:1000ms内存限制:256MB描述 给定2个树A和B&#xff0c;保证A的节点个数>B的节点个数。 现在你需要对树A的边进行二染色。 一个好的染色方案&#xff0c;指不存在一个树A中的连通块&#xff0c;同时满足以下2个条件 1. 其中只有同色的边 2. 和B同构。…

如何使用Java 8 FlatMap JDBC ResultSet?

您还不喜欢机能吗&#xff1f; 这样标题可能不会引起您的共鸣-但文章会&#xff01; 相信我。 本质上&#xff0c;我们想要这样&#xff1a; ------------------ | col1 | col2 | col3 | ------------------ | A | B | C | row 1 | D | E | F | row 2 | G …

java 获取mysql链接_Java中如何获取mysql连接的3种方法总结

前言本文主要来说说三种 Java 中获取 mysql 连接的方式&#xff0c;分享出来供大家参考学习&#xff0c;下面话不多说了&#xff0c;来一起看看详细的介绍&#xff1a;第一种&#xff1a;传统的连接方式&#xff1b;第二种&#xff1a;读取配置文件方式&#xff1b;第三种&…

Netty writeAndFlush() 流程与异步

Netty writeAndFlush()方法分为两步, 先 write 再 flush Overridepublic ChannelFuture writeAndFlush(Object msg, ChannelPromise promise) {DefaultChannelHandlerContext next;next findContextOutbound(MASK_WRITE);ReferenceCountUtil.touch(msg, next);next.invoker.in…

JavaScript学习总结(六)——JavaScript判断数据类型总结

最近做项目中遇到了一些关于javascript数据类型的判断处理&#xff0c;上网找了一下资料&#xff0c;并且亲自验证了各种数据类型的判断&#xff0c;在此做一个总结吧&#xff01; 一、JS中的数据类型 1.数值型&#xff08;Number&#xff09;&#xff1a;包括整数、浮点数。 2…

material 项目_Web开发必备的 10 个开源项目,不用自己亲自造轮子!

来自&#xff1a;Java and Python君Web 开发中几乎的平台都需要一个后台管理&#xff0c;但是从零开发一套后台控制面板并不容易&#xff0c;幸运的是有很多开源免费的后台控制面板可以给开发者使用&#xff0c;那么有哪些优秀的开源免费的控制面板呢&#xff1f;我在 Github 上…

香辣弹簧:自动接线的不同方法

我想展示使用Spring的Autowired批注的不同方式&#xff1a; Constructor &#xff0c; Method和Field自动装配。 我展示的示例都是byType自动装配模式的一种形式&#xff08; constructor自动装配模式类似于byType &#xff09;。 请参阅Spring Reference指南 &#xff0c;以获…

SVN部署(本地)

1.安装TortoiseSVN 2.建立Repository。在F:/下建立文件夹SVN_NATIVE_REPOSITORY&#xff0c; —— 》 3.在其他任意路径建立任意名称的路径&#xff0c;这里为D:\MSVC Project\SVN_WORK&#xff0c;确保该文件夹为空 右键单击&#xff0c;点击SVN Checkout&#xff0c; 第一行 …

InetAddressImpl#lookupAllHostAddr慢/挂起

自从我升级到优胜美地以来&#xff0c;我已经注意到尝试解析我的家庭网络上的本地主机已经花费了很多时间&#xff08;有时超过一分钟&#xff09;&#xff0c;所以我想我会尝试找出原因。 这是我的初始/ etc / hosts文件的外观&#xff0c;它基于我的机器的主机名是teetotal的…