我想保留不带..csv扩展名的文件名,但是使用rstrip('。csv')会删除以s结尾的字符串中的最后一个字母:
import java.util.stream.*;
int[] array = {1,2,3,4,5};
int sum = IntStream.of(array).sum();
我得到了这个结果:
data_files = [
"ap_2010.csv",
"class_size.csv",
"demographics.csv",
"graduation.csv",
"hs_directory.csv",
"sat_results.csv"
]
data_names = [name.rstrip('.csv') for name in data_files]
字符串人口统计和sat_results的结束已被删除,为什么会发生这种情况?
答案 0 :(得分:3)
这是因为rstrip()
会将所有字符与字符串末尾分开。
>>> 'abcdxyx'.rstrip('yx')
'abcd'
这会搜索y
和x
从字符串的右侧剥离。如果您想删除.csv
,则可以使用拆分。
>>> "ap_2010.csv".split('.')[0]
"ap_2010"
同样对于文件名,最好使用函数os.path.splitext
:
>>> import os
>>> os.path.splitext('ap_2010.csv')[0]
"ap_2010"
答案 1 :(得分:-1)
您可以通过以下方式获得预期的输出:
data_files = [
"ap_2010.csv",
"class_size.csv",
"demographics.csv",
"graduation.csv",
"hs_directory.csv",
"sat_results.csv"
]
data_names = [name.replace('.csv','') for name in data_files]