如何同时从多个文本文件读取数据

2019-05-24 16:57:02 浏览数 (2)

在很多时候,需要对多个文件进行同样的或者相似的处理。例如,你可能会从多个文件中选择数据子集,根据多个文件计算像总计和平均值这样的统计量。当文件数量增加时,手动处理文件的可能性会减小,出错的概率会增加。

基于这种情况,今天就使用Python语言,编写一个命令行小工具。来读取多个文件中的数据。

具体操作分为以下几步:

(1)要读取多个文件,需要我们创建多个文本文件。新建一个工程目录,名称叫做batch_read_file,然后在这个目录下,创建3个文本文件。如,a.txt,b.txt,c.txt,分别写入一些内容。

(2)为3个文件,a、b、c添加数据。

代码语言:javascript复制
# a.txt的数据
hello
world

# b.txt的数据
javascript
vue
react

# c.txt的数据
data
2019

(3)测试文件创建完成后,来编写具体的程序吧。程序中主要使用到了os模块和glob模块。新添加脚本batch_read_script.py。开始编写程序:

代码语言:javascript复制
import sys,glob,os
print("开始读取文件:")
input_path = sys.argv[1]

for input_path in glob.glob(os.path.join(input_path,'*.txt')):
    with open(input_path,'r',newline='') as file_reader:
        for row in file_reader:
            print("{}".format(row.strip()))
print("所有文件数据读取完毕")

运行程序:

代码语言:javascript复制
$ python batch_read_script.py ./

运行结果:

代码语言:javascript复制
data
2019
javascript
vue
react
hello
world

学会这项技术的一个巨大好处是它可以规模化扩展,它可以轻松扩展为处理几十、几百或几千个甚至更多的文件。感谢您的阅读。

0 人点赞