Python按行读取文件的简单实现方法

Python按行读取文件的简单实现方法,第1张

Python按行读取文件简单实现方法

下面小编就为大家带来一篇Python按行读取文件的简单实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。

1:readline()

file = open("sample.txt")

while 1:

line = file.readline()

if not line:

break

pass # do something

file.close()

一行一行得从文件读数据,显然比较慢;

不过很省内存;

测试读10M的sample.txt文件,每秒大约读32000行;

2:fileinput

import fileinput

for line in fileinput.input("sample.txt"):

pass

写法简单一些,不过测试以后发现每秒只能读13000行数据,效率比上一种方法慢了两倍多;

3:readlines()

file = open("sample.txt")

while 1:

lines = file.readlines(100000)

if not lines:

break

for line in lines:

pass # do something

file.close()

用同样的数据测试,它每秒可以读96900行数据!效率是第一种方法的3倍,第二种方法的7倍!

4:文件迭代器

每次只读取和显示一行,读取大文件时应该这样:

file = open("sample.txt")

for line in file:

pass # do something

file.close()

以上就是小编为大家带来的Python按行读取文件的简单实现方法全部内容了

python读取文件内容的方法:

一.最方便的方法是一次性读取文件中的所有内容并放置到一个大字符串中:

all_the_text = open('thefile.txt').read( )

# 文本文件中的所有文本

all_the_data = open('abinfile','rb').read( )

# 二进制文件中的所有数据

为了安全起见,最好还是给打开的文件对象指定一个名字,这样在完成 *** 作之后可以迅速关闭文件,防止一些无用的文件对象占用内存。举个例子,对文本文件读取:

file_object = open('thefile.txt')

try:

all_the_text = file_object.read( )

finally:

file_object.close( )

不一定要在这里用Try/finally语句,但是用了效果更好,因为它可以保证文件对象被关闭,即使在读取中发生了严重错误。

二.最简单、最快,也最具Python风格的方法是逐行读取文本文件内容,并将读取的数据放置到一个字符串列表中:

list_of_all_the_lines = file_object.readlines( )

这样读出的每行文本末尾都带有"\n"符号;如果你不想这样,还有另一个替代的办法,比如:

list_of_all_the_lines = file_object.read( ).splitlines( )

list_of_all_the_lines = file_object.read( ).split('\n')

list_of_all_the_lines = [L.rstrip('\n') for L in file_object]

最简单最快的逐行处理文本文件的方法是,用一个简单的for循环语句:

for line in file_object:

process line

这种方法同样会在每行末尾留下"\n"符号;可以在for循环的主体部分加一句:

lineline = line.rstrip('\n')

或者,你想去除每行的末尾的空白符(不只是'\n'\),常见的办法是:

lineline = line.rstrip( )

我估计你是问怎么从文件导入到数据库。一般每个数据库都有一个从文件直接load数据到数据库的命令或者工具。

比如SQLServer 有个bcp。 MySql 就是 load。

给你搜了详细的帮助。看看链接吧。以下是精简的使用方法:

基本用法:

mysql>USE db1

mysql>LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table

指定行,字段的分隔符:

mysql>LOAD DATA INFILE 'data.txt' INTO TABLE tbl_name

FIELDS TERMINATED BY ',' ENCLOSED BY '"'

LINES TERMINATED BY '\n'


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10076131.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存