只读csv文件python

时间:2014-02-11 18:26:34

标签: python csv

我可以在python中读取所有csv个文件:

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

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

file.csv而不是

file.x.csv

file.x.y.csv

这样做的好方法是什么?

4 个答案:

答案 0 :(得分:5)

您可以使用count

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

答案 1 :(得分:1)

添加像

这样的守卫
if '.' not in os.path.basename(files)[:-4]

答案 2 :(得分:0)

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

import re

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

答案 3 :(得分:0)

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

import glob
import re

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

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