前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何同时从多个文本文件读取数据

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

作者头像
TalkPython
发布2019-05-24 16:57:02
3.9K0
发布2019-05-24 16:57:02
举报
文章被收录于专栏:TalkPython

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

基于这种情况,今天就使用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

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-03-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 TalkPython 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档