-
Java读取文件
2019-06-04 16:30:13Java读取文件 本文是基于Windows 10系统环境,学习和实现Java读取文件: Windows 10 MyEclipse 10 一、Java读取文件 (1) 代码实现 java代码 public class Demo(){ File file = new File("e:/a.txt"); //读取...Java读取文件
本文是基于Windows 10系统环境,学习和实现Java读取文件:
- Windows 10
- MyEclipse 10
一、Java读取文件
(1) 代码实现
- java代码
public class Demo(){ File file = new File("e:/a.txt"); //读取内容 BufferedReader br = new BufferedReader(new FileReader(file)); String str = null; while( (str=br.readLine())!=null ){ System.out.println(str); }
-
Python读取文件内容
2018-12-18 16:27:54Python 读取文件内容1.read(),一次读取全部内容到内存。
with open('file.txt', 'r') as f: print(f.read())
with方式可以避免没有关闭资源文件产生错误
2. readlines(),with方式,逐行读取。with open("file.txt") as lines: for line in lines: print(line)
- readlines(),open方式,逐行读取。
# 打开文件 f = open("file.txt", "r") print ("文件名为: ", f.name) for line in f.readlines(): #依次读取每行 line = line.strip() #去掉每行头尾空白 print ("读取的数据为: %s" % (line)) # 关闭文件 fo.close()
-
使用pandas读取文件
2018-01-14 16:19:44pandas可以将读取到的表格型数据(文件...下面介绍一些常用读取文件的方法 1、read_csv函数 功能:从文件、URL、文件新对象中加载带有分隔符的数据,默认分隔符是逗号。 data.txt a,b,c,d,name 1,2,3,4,python 5,6pandas可以将读取到的表格型数据(文件不一定要是表格)转成DataFrame类型的数据结构,然后我们可以通过操作DataFrame进行数据分析,数据预处理以及行和列的操作等。下面介绍一些常用读取文件的方法
1、read_csv函数
功能:从文件、URL、文件新对象中加载带有分隔符的数据,默认分隔符是逗号。
data.txt
a,b,c,d,name 1,2,3,4,python 5,6,7,8,java 9,10,11,12,c++
data = pd.read_csv("data.txt") print(data) ''' a b c d name 0 1 2 3 4 python 1 5 6 7 8 java 2 9 10 11 12 c++ '''
2、read_table函数
功能:从文件、URL、文件型对象中加载带分隔符的数据,默认分隔符为制表符("\t")。data.txt的内容还是不变,我们可以通过指定read_table的sep参数来修改默认的分隔符。
data = pd.read_table("data.txt",sep=",") print(data) ''' a b c d name 0 1 2 3 4 python 1 5 6 7 8 java 2 9 10 11 12 c++ '''
3、读取没有标题的文件
data.txt1,2,3,4,python 5,6,7,8,java 9,10,11,12,c++
data = pd.read_csv("data.txt") #默认将第一行作为标题 print(data) ''' 1 2 3 4 python 0 5 6 7 8 java 1 9 10 11 12 c++ ''' #设置header参数,读取文件的时候没有标题 data1 = pd.read_csv("data.txt",header=None) print(data1) ''' 0 1 2 3 4 0 1 2 3 4 python 1 5 6 7 8 java 2 9 10 11 12 c++ ''' #设置names参数,来设置文件的标题 data2 = pd.read_csv("data.txt",names=["a","b","c","d","name"]) print(data2) ''' a b c d name 0 1 2 3 4 python 1 5 6 7 8 java 2 9 10 11 12 c++ '''
4、读取文件设置列索引
如果不设置列索引,默认会使用从0开始的整数索引。当对表格的某一行或列进行操作之后,在保存成文件的时候你会发现总是会多一列从0开始的列,如果设置index_col参数来设置列索引,就不会出现这种问题了。#设置names参数,来设置文件的标题,设置index_col参数来设置列索引 data2 = pd.read_csv("data.txt",names=["a","b","c","d","name"],index_col="name") print(data2) ''' a b c d name python 1 2 3 4 java 5 6 7 8 c++ 9 10 11 12 '''
a、指定多个列为列索引产生一个层次化索引
一个值由两个列索引(key1和kye2)和一个行索引(value1或value2)来决定,可以将其理解为一个三维数据,三个点来构成一个坐标位置。
data.txt
key1,key2,value1,value2 a,a,1,2 a,b,3,4 b,c,5,6 b,d,7,8 c,e,9,10 c,f,11,12
data = pd.read_csv("data.txt",index_col=["key1","key2"]) print(data) ''' value1 value2 key1 key2 a a 1 2 b 3 4 b c 5 6 d 7 8 c e 9 10 f 11 12 '''
5、对于不规则分隔符,使用正则表达式读取文件
文件中的分隔符采用的是空格,那么我们只需要设置sep=" "来读取文件就可以了。当分隔符并不是单个的空格,也许有的是一个空格有的是多个空格时,如果这个时候还是采用sep=" "来读取文件,也许你就会得到一个很奇怪的数据,因为它会将空格也做为数据。
data.txt
name a b c d python 1 2 3 4 java 5 6 7 8 c++ 9 10 11 12
使用正则表达式进行分割就可以避免上面问题的发生data = pd.read_csv("data.txt",sep=" ") print(data) ''' name a Unnamed: 2 Unnamed: 3 b Unnamed: 5 c Unnamed: 7 \ python NaN NaN 1.0 NaN 2 3.0 NaN NaN java 5.0 6.0 NaN 7.0 8 NaN NaN NaN c++ NaN 9.0 NaN NaN 10 NaN NaN 11.0 Unnamed: 8 Unnamed: 9 d python NaN NaN 4.0 java NaN NaN NaN c++ NaN 12.0 NaN '''
data = pd.read_csv("data.txt",sep="\s+") print(data) ''' name a b c d 0 python 1 2 3 4 1 java 5 6 7 8 2 c++ 9 10 11 12 '''
6、跳行读取文件
有的时候,你会遇到表格中的某些行数据你并不需要。可以通过skiprows参数来跳过这些行。
data.txt
#data.txt name,a,b,c,d python,1,2,3,4 #hello java,5,6,7,8 #word c++,9,10,11,12
#通过skiprows参数来设置跳过行,从0开始 data = pd.read_csv("data.txt",skiprows=[0,3,5]) print(data) ''' name a b c d 0 python 1 2 3 4 1 java 5 6 7 8 2 c++ 9 10 11 12 '''
7、读取含有缺失值的文件
使用pandas在读取文件的时候,pandas会默认将NA、-1.#IND、NULL等当作是缺失值,pandas默认使用NaN进行代替。
data.txt
name,a,b,c,d python,1,NA,3,4 java,5,6,7,NULL c++,-1.#IND,10,,12
也许有的时候也许pandas默认被当作的缺失值还不能满足你的要求,我们可以通过设置na_values,将指定的值替换成为NaN值data = pd.read_csv("data.txt") print(data) ''' name a b c d 0 python 1.0 NaN 3.0 4.0 1 java 5.0 6.0 7.0 NaN 2 c++ NaN 10.0 NaN 12.0 '''
也许有时候你还会遇到,你想将某个值替换成为NaN,但是可能有多个列都包含了这个值,而我们却不想替换所有的列,我们可以通过一个字典的形式来设置na_values参数,字典的键就是列索引,值就是你要替换的值。data1 = pd.read_csv("data.txt",na_values=["java","c++"]) print(data1) ''' name a b c d 0 python 1.0 NaN 3.0 4.0 1 NaN 5.0 6.0 7.0 NaN 2 NaN NaN 10.0 NaN 12.0 '''
data.txt
name,a,b,c,d python,1,NA,3,4 java,5,6,python,NULL c++,-1.#IND,10,,c++
只将第一列的python和c++替换为NaN#将python和c++都用NaN进行替代,将所有的python和c++都替换成了NaN data1 = pd.read_csv("data.txt",na_values=["python","c++"]) print(data1) ''' name a b c d 0 NaN 1.0 NaN 3.0 4.0 1 java 5.0 6.0 NaN NaN 2 NaN NaN 10.0 NaN NaN '''
#将python和c++都用NaN进行替代 dic = {"name":["python","c++"]} data1 = pd.read_csv("data.txt",na_values=dic) print(data1) ''' name a b c d 0 NaN 1.0 NaN 3 4 1 java 5.0 6.0 python NaN 2 NaN NaN 10.0 NaN c++ '''
8、read_csv和read_tabel的参数介绍
read_csv和read_table函数有很多的参数,下面对一些重点参数进行介绍。
参数:
path:表示文件系统位置、URL、文件型对象的字符串。
sep或delimiter:用于对行中各字段进行拆分的字符序列或正则表达式。
header:用作列名的行号。默认为0(第一行),如果文件没有标题行就将header参数设置为None。
index_col:用作行索引的列编号或列名。可以是单个名称/数字或有多个名称/数字组成的列表(层次化索引)。
names:用于结果的列名列表,结合header=None,可以通过names来设置标题行。
skiprows:需要忽略的行数(从0开始),设置的行数将不会进行读取。
na_values:设置需要将值替换成NA的值。
comment:用于注释信息从行尾拆分出去的字符(一个或多个)。
parse_dates:尝试将数据解析为日期,默认为False。如果为True,则尝试解析所有列。除此之外,参数可以指定需要解析的一组列号或列名。如果列表的元素为列表或元组,就会将多个列组合到一起再进行日期解析工作。
keep_date_col:如果连接多列解析日期,则保持参与连接的列。默认为False。
converters:由列号/列名跟函数之间的映射关系组成的字典。如,{"age:",f}会对列索引为age列的所有值应用函数f。
dayfirst:当解析有歧义的日期时,将其看做国际格式(例如,7/6/2012 ---> June 7 , 2012)。默认为False。
date_parser:用于解析日期的函数。
nrows:需要读取的行数。
iterator:返回一个TextParser以便逐块读取文件。
chunksize:文件块的大小(用于迭代)。
skip_footer:需要忽略的行数(从文件末尾开始计算)。
verbose:打印各种解析器输出信息,如“非数值列中的缺失值的数量”等。
encoding:用于unicode的文本编码格式。例如,"utf-8"或"gbk"等文本的编码格式。
squeeze:如果数据经过解析之后只有一列的时候,返回Series。
thousands:千分位分隔符,如","或"."。
-
c语言链表数据存入文件和读取文件
2017-05-07 15:49:24c语言,链表数据存入文件和读取文件近快一年没有接触c语言了,今天学妹问我了链表数据存如文件和读取文件到链表怎么实现,现在搞开发很少用文件,都是用数据库,在这儿我还是写一下简单的文件读取链表的操作。在c语言中,创建单链表需要使用到malloc函数动态申请内存;文件的读写需要首先使用fopen函数打开文件,然后使用fscanf,fgetc, fgets,fprintf,fputc,fputs等函数读写函数,最后读写完毕要使用fclose函数关闭函数。
下面的源程序展示了关于单链表如何从文件中读取数据和往文件里存入数据。
typedef
struct
node {
int
data;
struct
node *next;
}node;
//从文件中读取数据存入链表
node *createlink()
{
node *head =(node*)
malloc
(
sizeof
(node));
int
t;
node *p;
node *q;
p=q=head;
FILE
* r=
fopen
(
"input.txt"
,
"r"
);
if
(r==NULL)
{
printf
(
"打开文件失败!"
);
return
NULL;
}
while
(
fscanf
(r,
"%d"
,&t)!=EOF)
{
q= (node*)
malloc
(
sizeof
(node));
q->data=t;
p->next=q;
p=q;
}
p->next=NULL;
return
head;
}
//输出链表到屏幕和文件output.txt
void
outlink(node *head)
{
node *p=head->next;
FILE
*w =
fopen
(
"output.txt"
,
"w"
);
if
(w==NULL)
{
printf
(
"打开文件失败!"
);
return
;
}
while
(p)
{
//输出链表节点数据到屏幕
printf
(
"%d "
,p->data);
//输出链表节点数据到文件output.txt
fprintf
(w,
"%d "
,p->data);
p=p->next;
}
printf
(
"\n"
);
fprintf
(w,
"\n"
);
fclose
(w);
return
;
}
int
main()
{
node *head;
int
n,m;
head=createlink();
outlink(head);
system
(
"pause"
);
return
0;
}
-
Python读取文件
2019-06-18 17:06:26调用read()会一次性读取文件的全部内容,如果文件超过内存大小,会造成MemoyError,所以,为保险起见,可以反复调用read(size)方法,每次最多读取size个字节的内容。另外,调用readline()可以每次读取... -
读取文件乱码
2019-09-06 16:05:30读取文件内容,逻辑处理之后输出或者重新写入文件 2.学习/操作 PHP实现 1.小文件读取[<MB级别] TBD 2.中等文件读取[MB<文件<GB] TBD 2.大文件读取 [超过... -
BAT读取文件
2018-08-03 14:34:11@echo off&setlocal enabledelayedexpansion rem 生成文件 tasklist | findstr "Console"&...rem 读取文件第一列 rem type是显示文件内容的命令 for /f %%a in ('type bat.t... -
python读取文件:读取linux系统上的文件
2019-06-05 11:12:35pyhton文件读取:导入需要用到的package定义文件路径读取文件利用file(open)方法读取pandas读取csv文件写在最后 导入需要用到的package import os import pandas as pd 定义文件路径 python在linux系统上进去文件I/... -
nodejs异步读取文件与同步读取文件的区别
2017-12-20 18:00:52//引入他的模块之后调用读取文件的方法 fs.readFile('file.txt','utf-8',function(err,data){//回调函数有两个参数,一个是err表示错误信息,一个是读取文件的内容 if(err){ console.log(err); }else{ console... -
fastdfs 读取文件
2018-05-09 11:24:04目的:以前用的事tomcat java利用前端上传到指定文件位置,然后java读取文件。但是现在用的事fastdfs,没法用stream去读取文件更谈不上解析,后想到了OkHttpCliet代码 @Test public void httpGet() throws ... -
shell读取文件
2019-02-16 10:04:12shell读取文件的方式有两种,while循环读和for循环读 while循环读方式 #!/bin/bash PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATH cat filename | while read line ... -
Gradle读取文件内容
2018-12-19 09:50:34Gradle读取文件内容 -
Golang读取文件内容
2019-06-18 13:33:59可以一次性读取,也可以按行读取,也可以按字节读取,一般小文件直接一次性读取,当文件内容太大,内存不足,建议逐行读取处理... //1、一次性读取文件内容,还有一个 ReadAll的函数,也能读取 data, err := ioutil... -
Hive读取文件
2018-06-04 20:47:57hive读取文件 教会hive怎么读文本数据 这样直接读数据就是将文本文件上传到该数据表所在的hdfs的文件夹中 hadoop fs -put studen.dat /user/hive/数据库名/表名 hive> create table student(id int,... -
MATLAB中load函数读取文件出错解决(ASCII 文件 *.txt 的行号 1 中的文本未知)
2018-08-27 14:53:141、准备数据 这里用Excel数据为例,MATLAB可以读取很多不同格式的文件的数据。 下面是展示的Excel文件...3、使用MATLAB读取文件 >> load haha.txt 错误使用 load ASCII 文件 haha.txt 的行号... -
nodejs简单的读取文件写存文件
2018-12-05 17:26:09node.js 读取文件 fs 是 file-system 的简写,就是文件系统的意思 在 Node 中如果想要进行文件操作,就必须引入 fs 这个核心模块 在 fs 这个核心模块中,就提供了所有的文件操作相关的 API 例如:fs.readFile 就是... -
Java读取文件的四种方式
2018-09-18 14:52:46按字节读取文件内容 按字符读取文件内容 按行读取文件内容 随机读取文件内容 public class ReadFromFile { /** * 以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件... -
nodejs读取文件、按行读取
2019-08-30 14:27:171.直接读取 //引入 var fs = require('fs'); var path = 'text.json'; fs.readFile(path, function (error, data) { if (error) { console.log('读取文件失败了'+error) } else { data ... -
FileReader:读取文件内容
2019-01-28 12:49:54FileReader:读取文件内容 readerAsText():读取文本文件(可以使用txt打开的文件),返回文本字符串,默认编码是UTF-8 readAsBinaryString():读取任意类型的文件,返回二进制字符串。这个方法不是用来读取文件... -
Matlab批量读取文件
2019-08-02 15:26:16Matlab循环读取文件 要读取一个文件并处理,只需要把文件路径写好就行了,但是我们有时候需要批量处理多个文件,这时候怎么办呢? 可以利用循环,每一次自动修改文件路径 for x = 1 : 5 %注意这里需要把x转换成 str... -
pandas逐块读取文件
2018-01-14 21:24:54使用pandas来处理文件的时候,经常会遇到大文件,而有时候我们只想要读取...通过nrows参数,来设置读取文件的前多少行,nrows是一个大于等于0的整数。 data = pd.read_csv("data.csv",nrows=5) print(data) ''' -
C语言读取文件后判断是否读取结束
2019-09-07 15:44:16读取文件时,判断内容是否已经为空当目前所读取的字符为EOF时说明后面内容为空或者直接使用feof()函数 当目前所读取的字符为EOF时说明后面内容为空 char ch; FILE* fp=fopen(********); ch=fgetc(fp); if(ch==EOF) ... -
golang读取文件总结
2019-01-23 16:21:13使用go语言读取文件和各种方式整理。 一次性加载到内存中 // * 整个文件读到内存,适用于文件较小的情况 func readAllIntoMemory(filename string) (content []byte, err error) { fp, err := os.Open(filename) //... -
读取idea resources 文件并且按行读取文件里面的内容
2017-08-02 11:26:09读取idea resources 文件并且按行读取文件里面的内容我要去读取一个resources文件夹下面的的dura_dist.txt文件,在resource文件夹下新建这个文件里面填一些信息,随便添加几行数据InputStream in = SetPlace.class.... -
C语言读取文件大小,载入文件全部内容
2018-08-09 13:52:22如何读取文件是一个大的问题,如果只是简单的从文件中读取一个字符,可以使用getc函数读取。可是在读取一段或者整个文件的内容时,很多人都不知道如何下手,下面就简单的说说如何使用C语言读取整个文件的内容。 ... -
Java读取文件的方法
2018-10-21 16:32:11读取二进制文件 读取二进制文件,并存入byte数组,如算法训练模型的二进制模型。 public byte[] readFromByteFile(String pathname) throws IOException{ File filename = new File(pathname); ... -
java 从文件末尾开始读取文件内容
2017-12-14 23:59:30从文件末尾开始读取文件,并逐行打印 -
Java读取文件内容和写入内容到文件
2017-10-10 11:12:36Java读取文件内容方法和写入内容到文件方法 -
python读取文件的内容并解析
2019-06-14 11:06:461)读取文件存入内存 2)然后根据字符串进行处理 3)最后将数据转换成数组 4)最后利用dataframe解析数据 # _*_ coding: utf-8 _*_ import pandas as pd # 获取文件的内容 def get_contends(path): with ... -
前端打开文件读取文件内容
2017-02-22 20:41:36遇到了前端打开文件,读取文件信息的功能: filesToUpload: Array = []; getContent() { this.readFile(this.filesToUpload).then((result) => { }, (error) => { console.err
-
Excel高级图表技巧
-
C++ 类中const数组如何初始化
-
移动端流式布局项目之京东商城首页
-
sqli-labs less 15
-
iOS系统玩ONS游戏的详细说明(越狱,非越狱)
-
Zhong Shi Ying Yu Zhi Jian (Bei - Ping Qia Mu.mobi
-
题目 1111: Cylinder
-
WPF上位机数据采集与监控系统零基础实战
-
剑指offer算法02
-
科技推开粒子特效.zip
-
NSL-KDD.zip(KDDCUP99改进版)
-
ipv6子网划分工具箱v1.0.xlsm
-
uni-app实战专题
-
FGX50p Widows拨号上网测试.txt
-
FFmpeg4.3黄金系列课程:c++版
-
微信支付2021系列之扫码支付一学就会java版
-
flutter插件调用APP页面、使用原生aar,framework库
-
ArcGIS Pro2.6和ArcGIS Enterprise学习
-
基于JSP+Servlet的失物招领系统
-
Redis数据库入门与使用