linux下打开csv文件的软件,linux下的CSV文件操做[通俗易懂]

linux下打开csv文件的软件,linux下的CSV文件操做[通俗易懂]先介绍一下什么是csv文件,这是一种简单的文本文件,也被称为逗号分隔值文件。linux主要是用于存储简单的数据,下面在weindows下用UE简单生成一下文件。vim而后用excel打开windows这就是一个简单的csv文件,每一个字符都是一个ANSI码,图中的第一行,1,2,3,4,5,7。数组1~7每个都是一个ANSI码,一个逗号也是ANSI码。函数第二行的12,13,434,45,56…

大家好,又见面了,我是你们的朋友全栈君。

先介绍一下什么是csv文件,这是一种简单的文本文件,也被称为逗号分隔值文件。linux

主要是用于存储简单的数据,下面在weindows下用UE简单生成一下文件。vim

ca94e2d826ae1fc51bd97d1fb03d4c11.png

而后用excel打开windows

b11395a642e51df666a8d6a0e4c8c1ff.png

这就是一个简单的csv文件,每一个字符都是一个ANSI码,图中的第一行,1,2,3,4,5,7。数组

1~7每个都是一个ANSI码,一个逗号也是ANSI码。函数

第二行的12,13,434,45,56,747,“12”存储的是两个ANSI码,而“747”则存储了三个ANSI码,他们之间以逗号分隔。spa

相似的,第三行的“a”是一个ANSI码,“cd”是两个ANSI码。设计

也就是说,不管每个逗号分隔的一个数值是多大,每个值都是一个字符,若是换个理解方式就是,csv文件是一个很长很长的字符串。3d

而后是文件的大小,这个文件的大小是49字节。excel

856a2886f0e9c09fc370a307d1666711.png

经过直接数字符的方式,发现只有45个字符,包括全部逗号,多出了4个字节。code

多出的四个字节在UE中看不到,这实际上是windows独有的换行符“\r\n”,占了两个字符,45加上第一行和第二行的换行符就获得了49个字节的大小。

而后是关于文件名,windows默认文件名长256个字节,大小是固定的,可是不会再属性里面体现出来。

备注:linux的换行符是“\n”,占一个字符。

好了,关于csv文件的介绍到此结束。

下面是关于文件操做介绍,主要用到stdio.h这个文件头,这个是标准输入输出的一个头包含文件,为何会将文件的操做放在标准输入输出的头包含文件里面,而不是从新建立一个file.h,按照《c语言程序设计——现代方法》的说法,全部的输入输出都是一种流,输入称为输入流,输出称为输出流,文件的读操做称为输入流,写操做称为输出流,就像往屏幕上打印东西称为输出流,键盘输入称为输入流,一切与系统的交互,本质上都是一种输入输出的行为。

而后是打开linux,用vim生成一个test.c文件,而后键入以下代码

#include “stdio.h”

int main(void)

{

FILE *f0;

char array[] = “1,2,3,4,5,7\n12,13,434,56,747\na,b,cd,efg,h,ij”;

char array0[100];

if(NULL == (f0=fopen(“/home/ma/TEST/ma.csv”,”a”)))//打开一个ma.csv文件,

{ //若是不存在就建立

printf(“can’t not open file\n”);

}

else

{

printf(“Created file succeed!\n”);//建立成功就输出这句话

fwrite(array,sizeof(array),1,f0);//给文件写入array数组

fread(array0,sizeof(array),1,f0);//而后将文件内容读取到array0中

printf(“%s\n”,array0);//输出文件内容

fclose(f0);//关闭文件

}

}

在linux下的操做截图以下

4e8e62111d33df049c2b50cb19ad6648.png

先用gcc 编译test.c,生成a.out,而后强制执行a.out,这里有个小细节,在linux下,生成的a.out文件通常用户是没有执行权限的,若是不限输入sudo的话,须要对当前的文件夹获取写入权限,使用chmod这个命令。执行a.out以后,生成了一个ma.csv文件,再说一件事,在linux下,一切都是文件,而文件名仅仅是一个标识符,”*.csv”是没有意义的,不要在乎拓展名是啥,这仅仅起到一个关联执行程序的意义,对真实的文件内容没有啥关系。

好了,这是一个简单的文件操做入门,具体的文件操做函数我就不介绍了,请参考 《c语言程序设计——从入门到放弃》。

写于2017年5月27日

深圳

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/162485.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • NumPy使用图解教程「建议收藏」

    NumPy使用图解教程「建议收藏」NumPy使用图解教程

    2022年8月2日
    8
  • 利用js给datalist或select动态添加option选项

    利用js给datalist或select动态添加option选项

    2021年11月8日
    41
  • python机器学习库sklearn——Lasso回归(L1正则化)

    python机器学习库sklearn——Lasso回归(L1正则化)全栈工程师开发手册(作者:栾鹏)python数据挖掘系列教程TheLasso是估计稀疏系数的线性模型。它在一些情况下是有用的,因为它倾向于使用具有较少参数值的情况,有效地减少给定解决方案所依赖变量的数量。因此,Lasso及其变体是压缩感知领域的基础。在一定条件下,它可以恢复一组非零权重的精确集。在数学公式表达上,它由一个带有ℓ1\ell_1先验的正则项的线性模型组成。

    2022年6月14日
    35
  • GoogleNet_google翻译学术论文

    GoogleNet_google翻译学术论文                             GoingDeeperwithConvolutions摘要      我们在ImageNet大规模视觉识别挑战赛2014(ILSVRC14)上提出了一种代号为Inception的深度卷积神经网络结构,并在分类和检测上取得了新的最好结果。这个架构的主要特点是提高了网络内部计算资源的利用率。通过精心的手工设计,我们在增加了网络深度和广…

    2022年8月14日
    2
  • FastCGI 介绍

    FastCGI 介绍本文主要介绍FastCGI的相关知识。首先简要看一下CGI(百科)CGI(通用网关接口)CGI是Web服务器运行时外部程序的规范, 按CGI编写的程序可以扩展服务器功能。CGI应用程序能与浏览器进行交互,还可通过数据库API与数据库服务器等外部数据源进行通信,从数据库服务器中获取数据。格式化为HTML文档后,发送给浏览器,也可以将从浏览器获得的数据放到数据库中。…

    2022年7月11日
    15
  • 激活成功教程芝诺悖论之阿基里斯追乌龟

    激活成功教程芝诺悖论之阿基里斯追乌龟版权所有。所有权利保留。欢迎转载,转载时请注明出处:阿基里斯是古希腊神话中善跑的英雄。在他和乌龟的竞赛中,他速度v1,位置坐标0;乌龟速度v2,位置坐标s。已知v1>v2。他在后面追,但他不可能追上乌龟。因为在竞赛中,追者首先必须到达被追者的出发点,当阿基里斯追到s时,乌龟已经又向前爬了s/v1*v2,位置s+s/v1*v2。于是,一个新的起点产生了;阿基里斯必须继续追,而当他追到乌龟爬的

    2022年6月23日
    29

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号