繁体   English   中英

只读csv文件python

[英]read only csv files python

我可以在python中读取所有这样的csv文件:

import glob
for files in glob.glob("*.csv"):
    print files

但是,我只想读取后缀为.csv的文件。 例如,我只想阅读

file.csv而不是

file.x.csv

要么

file.x.y.csv

什么是这样做的好方法?

你可以用count

import glob
for files in glob.glob("*.csv"):
    # print all files that contain only .csv
    if files.count('.') == 1:
       print files

添加一个像

if '.' not in os.path.basename(files)[:-4]

您可以使用在每个字符串的末尾匹配.csv的正则表达式,文件名是在字符串的末尾带有.csv的变量。

import re

if re.search('\.csv', filename):
     do something

使用filter()和一个正则表达式。

import glob
import re

flt = re.compile(r'^[^.]+\.csv$',re.I)
for f in filter(flt.match,glob.glob('*.csv')):
    print(f)

此处的正则表达式假设文件名中只有一个句点。 您的需求可能需要其他正则表达式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM