我可以讀取所有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