C语言对CSV文件从最后往前一行一行读取的实现方法
在有些产品的研发过程中,一般我们都有很多条数据记录在一个LOG文件中。
在查看最新的数据记录都是从最开始保存的那条开始存储,所以,参考了网上一些实现方法,稍微修改了一下即得到了下面的解决方法:
假设文件存储如下内容:
由于.csv格式的文件是如下的格式,所以我们知道它是以逗号作为分隔符的,一行的结束符就是\n
2018/10/24 16:28,橙子,水果 2018/10/21 10:16,啤酒,饮料 2018/10/22 10:16,水杯,玻璃瓶 2018/10/23 09:19,硫酸,腐蚀品 2018/10/24 10:17,火药,爆炸物 2018/10/25 09:19,火柴,易燃物 2018/10/26 09:29,可乐,饮料 2018/10/27 10:39,雪碧,饮料 2018/10/28 09:49,益力多,饮料 2018/10/29 09:59,优益C,饮料
运行结果:
后续,在产品中,可能还需要拆分字符串,把时间和对应的描述分别拆分出来,这也是软件逻辑的一部分,请读者自行拓展。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接
相关推荐
-
对pandas读取中文unicode的csv和添加行标题的方法详解
pandas这个库就是这么智能.有了dateframe格式一切都好办了.相比csv库对中文支持就渣了. reader = pd.read_csv(leg2CsvReadFile, delimiter="," ,header=0,encoding = "gbk") header=None 即指明原始文件数据没有列索引,这样read_csv为自动加上列索引,除非你给定列索引的名字. obj_2=pd.read_csv('f:/ceshi.csv',header=0,na
-
c语言读取csv文件和c++读取csv文件示例分享
C读取csv文件 复制代码 代码如下: #include <stdio.h>#include <string.h> char *trim(char *str){ char *p = str; while (*p == ' ' || *p == '\t' || *p == '\r' || *p == '\n') p ++; str = p; p = str + strlen(str) - 1; while (*p == ' ' ||
-
用C语言实现从文本文件中读取数据后进行排序的功能
功能介绍 程序的功能是从外部读取一个包括int型数据的文本文件,然后将它保存到内部临时数组,对数组进行排序后,以文本形式输出到指定的文件上.因为是int类型的数据,没有很严重的损失精度的问题. 正常运行要求: 包括数据的源文件内不能包括其他任何除数字和空白字符(空格,制表符,换行符)之外的任何字符,源文件最开始必须是数字字符,要保证源文件的数据计数正确.同时保证文件名有效. 运行结果 data.txt: obj.txt: 完整代码 警告:版权所有,谨供参考! #include <stdio.h>
-
使用pandas模块读取csv文件和excel表格,并用matplotlib画图的方法
如下所示: # coding=utf-8 import pandas as pd # 读取csv文件 3列取名为 name,sex,births,后面参数格式为names= names1880 = pd.read_csv("names_1880.txt", names=['name', 'sex', 'births']) print names1880 print names1880.groupby('sex').births.sum() 输出如下 最后一行是说按sex分组并计算bir
-
使用Numpy读取CSV文件,并进行行列删除的操作方法
Numpy是Python强大的数据计算和处理模块,其操作数据非常迅速且简单易行. 首先读取CSV文件 >>> import numpy as np#导入numpy模块 >>> temp=np.loadtxt("file.csv",dtype=np.int,delimiter=',') 可以看到两行代码搞定,看一下temp的内容 >>> temp array([[21, 2, 32], [ 1, 2, 3], [ 2, 3, 4]])
-
C语言中对文件最基本的读取和写入函数
C语言read()函数:读文件函数(由已打开的文件读取数据) 头文件: #include <unistd.h> 定义函数: ssize_t read(int fd, void * buf, size_t count); 函数说明:read()会把参数fd 所指的文件传送count 个字节到buf 指针所指的内存中. 若参数count 为0, 则read()不会有作用并返回0. 返回值为实际读取到的字节数, 如果返回0, 表示已到达文件尾或是无可读取的数据,此外文件读写位置会随读取到的字节移动.
-
c语言实现把文件中数据读取并存到数组中
1.txt 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 2.txt 1 2 3 4 5 2 3 4 5 6 4 5 6 7 8 程序代码: // C++读取文本到数组.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" int readfile1D() { char a[100]; int i; FILE *fp = fopen("1.txt","r"); if(fp =
-
C语言编程中对目录进行基本的打开关闭和读取操作详解
C语言opendir()函数:打开目录函数 头文件: #include <sys/types.h> #include <dirent.h> 定义函数: DIR * opendir(const char * name); 函数说明:opendir()用来打开参数name 指定的目录, 并返回DIR*形态的目录流, 和open()类似, 接下来对目录的读取和搜索都要使用此返回值. 返回值:成功则返回DIR* 型态的目录流, 打开失败则返回NULL. 错误代码: 1.EACCESS 权限
-
pandas读取csv文件,分隔符参数sep的实例
在python中读取csv文件时,一般操作如下: import pandas as pd pd.read_csv(filename) 该读文件方式,默认是以逗号","作为分割符,若是以其它分隔符,比如制表符"/t",则需要显示的指定分隔符.如下 pd_read_csv(filename,'/t') 但如果遇见某个字段包含了"/t"的字符,比如网址"www.xxx.xx/t-",则也会把字段中的"/t"理解为
-
C语言对CSV文件从最后往前一行一行读取的实现方法
在有些产品的研发过程中,一般我们都有很多条数据记录在一个LOG文件中. 在查看最新的数据记录都是从最开始保存的那条开始存储,所以,参考了网上一些实现方法,稍微修改了一下即得到了下面的解决方法: 假设文件存储如下内容: 由于.csv格式的文件是如下的格式,所以我们知道它是以逗号作为分隔符的,一行的结束符就是\n 2018/10/24 16:28,橙子,水果 2018/10/21 10:16,啤酒,饮料 2018/10/22 10:16,水杯,玻璃瓶 2018/10/23 09:19,硫酸,腐蚀品
-
R语言对CSV文件操作实例讲解
在 R 语言中,我们可以从存储在 R 语言环境外的文件中读取数据. 我们还可以将数据写入将被操作系统存储和访问的文件. R 语言可以读取和写入各种文件格式,如csv,excel,xml等. 在本章中,我们将学习从csv文件读取数据,然后将数据写入csv文件. 该文件应该存在于当前工作目录中,以便 R 语言可以读取它. 当然我们也可以设置我们自己的目录并从那里读取文件. 获取和设置工作目录 您可以使用getwd()函数检查R语言工作区指向的目录. 您还可以使用setwd(
-
PHP下载生成的csv文件及问题总结
最近做了一个项目需要把订单的信息显示出来,并且能够把相关信息放到一个.csv 文件中,下载到浏览器.虽然说csv是一种比较简单的excel表格形式,生成只要按指定格式然后生成.csv文件就可以,但是在使用中也会遇到很多问题,下面给大家分享下PHP下载csv文件及问题总结 首先大家先看个例子,生成csv文件并下载 //要生成csv文件的数组 $csvArr=array(); $csvArr[]=array('用户编号1','上班日期1','签到时间1','签退时间1'); $csvArr[]=ar
-
php导入csv文件碰到乱码问题的解决方法
今天主要是想写一个php导入csv文件的方法,其实网上一搜一大把.都是可以实现怎么去导入的.但是我导入的时候遇到了两个问题,一个是在windows上写代码的时候测试发生了乱码问题,然后解决了.第二个是提交到linux系统上的时候又发生了乱码.我开始还不清楚是乱码的原因,一开始我还以为是代码svn提交发生的错误,到最后我在我的一个群里提问了一下,一朋友是做phpcms的,他说他遇到从Windows提交到Linux的时候刚开始也总是发生错误,后来排查原因就是乱码导致成的.下面切入正题看怎么解决两个问
-
对Python 多线程统计所有csv文件的行数方法详解
如下所示: #统计某文件夹下的所有csv文件的行数(多线程) import threading import csv import os class MyThreadLine(threading.Thread): #用于统计csv文件的行数的线程类 def __init__(self,path): threading.Thread.__init__(self) #父类初始化 self.path=path #路径 self.line=-1 #统计行数 def run(self): reader =
-
Python实现csv文件(点表和线表)转换为shapefile文件的方法
Python实现csv文件(点表和线表)转换为shapefile文件 说明 点表使用的geometry坐标是wkbPoint(几何点坐标) 线表使用的geometry坐标是wkbLineString(多点坐标) 区别详细看截图 参考别人写的方法加了注释,把点和边的转化写成了函数,每次转成功后加了读取shp文件来测试是否转化成功 注意事项 1.解决shp dbf 文件中文编码 #gdal.SetConfigOption("SHAPE_ENCODING", "") #g
-
Python Pandas处理CSV文件的常用技巧分享
目录 读取Pandas文件 统计列值出现的次数 筛选特定列值 遍历数据行 绘制直方图(柱状图) Pandas处理CSV文件,分为以下几步: 读取Pandas文件 统计列值出现的次数 筛选特定列值 遍历数据行 绘制直方图(柱状图) 读取Pandas文件 df = pd.read_csv(file_path, encoding='GB2312') print(df.info()) 注意:Pandas的读取格式默认是UTF-8,在中文CSV中会报错: UnicodeDecodeError: 'utf-
-
go语言读取csv文件并输出的方法
本文实例讲述了go语言读取csv文件并输出的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main import ( "encoding/csv" "fmt" "io" "os" ) func main() { file, err := os.Open("names.txt") if err != nil {
-
R语言开发之CSV文件的读写操作实现
在R中,我们可以从存储在R环境外部的文件读取数据,还可以将数据写入由操作系统存储和访问的文件.这个csv文件应该存在于当前工作目录中,以方便R可以读取它, 当然,也可以设置自己的目录,并从那里读取文件. 我们可以使用getwd()函数来检查R工作区指向哪个目录,并且使用setwd()函数设置新的工作目录,如下: 输出结果如下: csv文件是一个文本文件,其中列中的值用逗号分隔,我们可以将以下数据保存入txt文件中,并且修改后缀名称为csv: id,name,salary,start_date,d
-
R语言读取csv文件出错的解决方案
今天在用R语言读取.csv文件的时候报错 Error in make.names(col.names, unique = TRUE) : invalid multibyte string 5 上网查了很久才知道原来是格式的问题(保存文件格式的编码不正确) 重新保存正确的格式就没有问题了~ 补充:R语言读取csv文件,第一列列名出现乱码的解决方法 在利用R语言读取csv文件时,第一列列名总是出现乱码,代码如下: setwd("E:\2.Model\4. Simulation") #设定文
随机推荐
- Java高级面试题小结
- oracle中文乱码解决的办法
- asp.net viewstate 回发机制
- Javascript 不能释放内存.
- PHP用mb_string函数库处理与windows相关中文字符及Win环境下开启PHP Mb_String方法
- PHP 面向对象程序设计(oop)学习笔记(一) - 抽象类、对象接口、instanceof 和契约式编程
- 怎样在php中使用PDF文档功能
- Android 将文件下载到指定目录的实现代码
- Android手机抓包步骤
- 详解Vue使用命令行搭建单页面应用
- php使用str_replace替换多维数组的实现方法分析
- 低版本IE正常运行HTML5+CSS3网站的3种解决方案
- 优化javascript的执行效率一些方法总结
- JS常见问题之为什么点击弹出的i总是最后一个
- 向左滚动文字 js代码效果
- js将字符转换为UTF-8字符的工具
- Java对象初始化顺序的使用
- Android编程实现对话框形式进度条功能示例
- C# ConfigHelper 辅助类介绍
- Android实现EditText中添加和删除bitmap的方法