导航:首页 > 数据分析 > 如何从csv中读取数据

如何从csv中读取数据

发布时间:2024-06-14 10:01:19

java 读取csv文件里指定行列的值,比如读取第三行第二列的值。

import java.io.BufferedReader;
import java.io.FileReader;
public class Test {
public void test(int row,int col){
try {
BufferedReader reader = new BufferedReader(new FileReader("C:\a.csv"));//换成你的文件名
// reader.readLine();//第一行信息,为标题信息,不用,如果需要,注释掉
String line = null;
int index=0;
while((line=reader.readLine())!=null){
String item[] = line.split(" ");//CSV格式文件为逗号分隔符文件,这里根据逗号切分
if(index==row-1){
if(item.length>=col-1){
String last = item[col-1];//这就是你要的数据了
System.out.println(last);
}
}
//int value = Integer.parseInt(last);//如果是数值,可以转化为数值
index++;
}
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* @param args
*/
public static void main(String[] args) {
Test test = new Test();
test.test(3, 2);
}
}

你的数据格式有问题,空格的个数不确定,没办法每行用空格分隔。以下是我调整后的数据格式每行的数据以一个空格分隔,test方法传入的参数一次是,行,列:

1电机1

2WBS2

3PID3

4CP

5社供出

6原価実绩

7社供WC

8外注费

9直材费

10自家制品

11直経费

12その他

13注残

14注残

㈡ python如何读取CSV文件一部分数据

import pandas as pd #一般来说直接用pandas这个库
import os
os.getcwd()#当前工作路径,即get current work directory
os.chdir("D:/")#改变到你要读取以及保存数据内的容工作路径,即change directory
data = pd.read_csv("data.csv")#读取数据

㈢ C# 程序对.csv 文件中的内容抓取求思路。

使用StreamReader打开文件,利用ReadLine方法可以一行一行的读取CSV文件内容,使用ReadToEnd方法可以一次读取全部CSV文件内容,你可以一行一行的读取出字符串,然后使用Split方法把内容根据“,”分割成数组,代码如下:
StreamReader reader = new StreamReader("文件完整路径或相对路径,包含文件名");
string line = "";
List<string[]> listStrArr = new List<string[]>();//数组List,相当于可以无限扩大的二维数组。
line = reader.ReadLine();//读取一行数据
while(line != null)
{
listStrArr.Add(line.Split(","));//将文件内容分割成数组

line = reader.ReadLine();

}

㈣ 编写一个C语言程序读取一个csv格式文件的内容,文件内全是数字,每次读取5个

csv文件即逗号分隔值文件。

逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。
纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。
CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。通常,所有记录都有完全相同的字段序列。
要用C语言读取CSV,首先需要确定文件中定义的字符分隔值,以及每一行各个列的元素格式。
如果所有的元素格式相同,那么可以每行一个一维数组,所有行组成一个二维数组,逐个元素进行读取。
如果元素格式不同,可以按照元素类型,构建一个结构体,每行读到一个结构体变量中,所有行组成一个结构体数组。
下面根据两种情况,按照分隔符为逗号(,),分别举一个例子:
文件名设定为in.csv,每行10个元素。
一、所有元素均相同类型,比如int型。
#include <stdio.h>
int main()
{
FILE*fp;
int a[100][10];//定义一个足够大的数组来存储。
int line = 0;
int c, i;

fp = fopen("in.csv", "r"); // 以文本方式打开。
if(fp == NULL) return -1; // 打开文件失败。
while(1)
{
i=0;//列标记清零。
while(1)
{
fscanf(fp, "%d", &a[line][i]);//从文件中读取一个元素。
c = getchar();//读取下一个字符,可能是分隔符,换行符或文件结尾。
if(c == '\n'||c == EOF)break;//读完一行,或者到文件结尾,退出读取。
i++;
}
line ++;
if(c == EOF) break;
}

fclose(fp); //关闭文件。
//以下循环用来打印所有读到的值。
for(i = 0; i < line; i ++)
{
for(c = 0; c < 10; c ++)
printf("%d ", a[i][c]);
printf("\n");
}
}
二、每行元素不同。
比如共三列,第一列是int型,第二列是字符串,第三列是float型。
如果分隔符不是空白字符,或者字符串元素中可能存在除分隔符外的其它空白字符,在读取字符串的时候是不能用fscanf函数的。
定义结构体如下
strcut data
{
int a;
char s[100]; //根据实际要求,定义足够大的字符数组。
float f;
};
读取代码如下:
#include <stdio.h>
int main()
{
FILE*fp;
strcut data a[100];//定义一个足够大的结构体一维数组来存储。
int line = 0;
int c,i;

fp = fopen("in.csv", "r"); // 以文本方式打开。
if(fp == NULL) return -1; // 打开文件失败。
while(1)
{
fscanf(fp, "%d", &a[line].a);//从文件中读取第一个元素。
c = getchar();//读取分隔符。
//接下来要读取字符串,需要逐个字符读入,直到出现分隔符为止。
i = 0;
while(1)
{
a[line].s[i] = getchar();//读入一个字符。
if(a[line].s[i] == ',')//发现分隔符
{
a[line].s[i]='\0'; //赋值字符串结束符。
break;//退出读取字符串。
}
i++;
}
//由于在读字符串的时候分隔符已经被读取,这里不需要读分隔符,而是直接读下一个元素。
fscanf(fp, "%f", &a[line].f);//从文件中读取最后一个元素。
c = getchar();//读取下一个字符,可能是换行符或文件结尾。
line ++;
if(c == EOF) break;//到文件结尾,退出读取。
}

fclose(fp); //关闭文件。
//以下循环用来打印所有读到的值。
for(i = 0; i < line; i ++)
{
printf("%d %s %f\n", a[i].a, a[i].s, a[i].f);
}
}

linux閫愯岃幏鍙朿sv鏁版嵁

inux閫愯岃幏鍙朿sv鏁版嵁鐨勬柟娉曞備笅锛
1銆佸亣璁炬湁涓涓鍚嶄负鈥渄ata.csv鈥濈殑CSV鏂囦欢锛屾枃浠跺唴瀹规牸寮忓備笅锛歂ame,Sex,AgeZhangSan,Male,28LiSi,Female,31WangWu,Male,45ZhaoLiu,Female,23
2銆佸彲浠ヤ娇鐢╝wk鍛戒护鎸夌収琛屾潵鑾峰彇鏂囦欢鐨勫唴瀹癸細awk-F,'{print$1,$2,$3}'data.csv鍏朵腑锛-F,琛ㄧず浣跨敤閫楀彿浣滀负鍒嗛殧绗︼紙鍥犱负CSV鏂囦欢鐨勬瘡鍒楁暟鎹鏄鐢遍楀彿鍒嗛殧寮鐨勶級銆'{print$1,$2,$3}'琛ㄧず灏嗙1鍒椼佺2鍒椼佺3鍒楃殑鏁版嵁杈撳嚭鍒板睆骞曚笂銆
3銆佹墽琛岃繖涓鍛戒护涔嬪悗锛屽睆骞曚細杈撳嚭浠ヤ笅缁撴灉锛歂
4銆佽繖鏍峰氨鍙浠ラ愯岃幏鍙朇SV鏂囦欢涓鐨勬暟鎹浜嗐備綘涔熷彲浠ユ牴鎹瀹為檯闇瑕佽皟鏁碼wk涓鐨勫弬鏁帮紝渚嬪傚傛灉鍙闇瑕佹樉绀虹浜屽垪鍜岀涓夊垪锛屽彲浠ュ皢{print$1,$2,$3}淇鏀规垚{print$2,$3}鍗冲彲銆俵inux锛屽叏绉癎NU/Linux锛屾槸涓绉嶅厤璐逛娇鐢ㄥ拰鑷鐢变紶鎾鐨勭被UNIX鎿嶄綔绯荤粺銆

阅读全文

与如何从csv中读取数据相关的资料

热点内容
日本au视频 浏览:914
有哪些字符不能在文件中使用 浏览:519
韩国电影开头女主洗澡 浏览:317
vex是什么网络用语 浏览:531
学日语哪个网站好 浏览:85
抽血数据多少可以打胎 浏览:160
usb外置声卡如何装驱动程序 浏览:806
win1008007007b 浏览:537
线电影在哪里可以看 浏览:513
iphone4接听震动 浏览:104
easyui加载远程数据库数据库数据库 浏览:89
微信语音文件是什么格式的 浏览:226
p8yc 浏览:914
cps大数据 浏览:245
qq炫舞修复工具 浏览:699
八哥看电影 浏览:976
可疑的美容院说的什么 浏览:484
简爱什么类型的电影 浏览:986
如何在编程中做出简单迷宫 浏览:519
大数据时代txt下载微盘 浏览:418

友情链接