我可以读取所有csv
文件像这样的Python:只读CSV文件,蟒蛇
import glob
for files in glob.glob("*.csv"):
print files
不过,我只想读那些刚刚.csv
为后缀的文件。例如 我只会想读
file.csv
,而不是
file.x.csv
或
file.x.y.csv
什么是做到这一点的好办法?
我可以读取所有csv
文件像这样的Python:只读CSV文件,蟒蛇
import glob
for files in glob.glob("*.csv"):
print files
不过,我只想读那些刚刚.csv
为后缀的文件。例如 我只会想读
file.csv
,而不是
file.x.csv
或
file.x.y.csv
什么是做到这一点的好办法?
添加保护像
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)
这里的正则表达式假定文件名中只有一个句点。您的需求可能需要不同的正则表达式。
用于glob.glob(“*。csv”)文件的变量名'files':'是误导性的,因为'files'指单个文件名... – YXD