【发布时间】:2019-04-03 21:18:09
【问题描述】:
我有一组没有任何扩展名的文件。它们当前存储在此变量“allFiles”引用的文件夹中。
allFiles = glob.glob(base2 + "/*")
我正在尝试为 allFiles 中的每个文件添加扩展名。将 .csv 添加到文件名中。我使用以下代码:
for file in allFiles:
os.rename(os.path.join(base2, file), os.path.join(base2, file+'.csv'))
接下来,我尝试按照以下代码将这些 csv 文件中的每一个附加到一个文件中。
list_ = []
for file_ in allFiles:
try:
df = pd.read_csv(file_, index_col=None, header=None,delim_whitespace = True, error_bad_lines=False)
list_.append(df)
except pd.errors.EmptyDataError:
continue
当我运行上述代码时,我收到一条错误消息,指出其中一个文件不存在。
Error : FileNotFoundError: File b'/Users/base2/file1' does not exist
但 file1 现在已重命名为 file1.csv
任何人都可以建议我在上面哪里出错了。谢谢
更新:
allFiles = glob.glob(base2 + "/*")
print(allFiles)
list_ = []
print(list_)
allFiles = [x + '.csv' for x in allFiles]
print(allFiles)
for file_ in allFiles:
try:
df = pd.read_csv(file_, index_col=None, header=None)
list_.append(df)
except pd.errors.EmptyDataError:
continue
Error : FileNotFoundError: File b'/Users/base2/file1.csv' does not exist
【问题讨论】:
-
您重命名文件后是否再次尝试执行
allFiles = glob.glob(base2 + "/*")? -
最初,您更改了文件名,但没有更改数组中的字符串。随着您的更新,您现在正在更改 allFiles 数组中的字符串,但不会更改文件名。你需要两者都做。
-
@wwii 你的评论帮助我克服了这个问题。
标签: python python-3.x pandas append