df.to_csv 函数打印出内容而不是将数据写入文件

df.to_csv function prints out the content instead of writing data to a file

df.to_csv(output_file) 应该将 DataFrame 的内容写入文件。 虽然该函数对我目录中 99.9% 的文件有效,但有一个文件,函数打印出文件的内容而不是将其写入目录。然后,当我 运行 a pd.read_csv(output_file) 时,程序会卡在那里很长时间而不会显示实际的 FileNotFound 错误。这是代码:

output = is_ldzr('CON_200811010000_200903310000.txt')
print(output)
output.to_csv('CON.csv', index=False, date_format='%Y-%m-%d %H:%M')
print(os.getcwd())
df = pd.read_csv('CON.csv')
print(df)

并且输出:

           start_time            end_time  label
0 2008-12-11 12:48:00 2008-12-12 04:23:00      0
1 2008-12-17 16:51:00 2008-12-17 18:51:00      0
2 2008-12-24 13:48:00 2008-12-24 16:51:00      0
3 2009-01-05 07:51:00 2009-01-05 07:51:00      0
4 2009-01-07 14:02:00 2009-01-08 02:26:00      0
5 2009-01-28 23:32:00 2009-01-29 01:09:00      0
start_time,end_time,label
2008-12-11 12:48,2008-12-12 04:23,0
2008-12-17 16:51,2008-12-17 18:51,0
2008-12-24 13:48,2008-12-24 16:51,0
2009-01-05 07:51,2009-01-05 07:51,0
2009-01-07 14:02,2009-01-08 02:26,0
2009-01-28 23:32,2009-01-29 01:09,0
E:\icestorm
... stuck here for a long time. Ctrl + C produces no Traceback. 

从输出中可以看出,print(output)第一次打印了DataFrame,而output.to_csv()第二次打印了DataFrame,现在的格式是字符串写入文件 CON.csvpd.read_csv('CON.csv')没有读入数据也没有报错,很奇怪

如果有人想自己重现错误,我已将产生错误的代码和文件(还有数千个其他文件有效)上传到 Google 驱动器:https://drive.google.com/drive/folders/1ih_8C3uWsvv9ZsjtZ2VzuzdJ7FG-hUjX?usp=sharing.我是运行宁Python3.6.5.

更新:

在服务器上的 jupyter notebook 上 运行ning 时,这不会产生错误,但我的笔记本电脑上出现了这个奇怪的错误。我尝试了不同的 Python 版本都无济于事。

我现在非常怀疑这个问题是否会在我的笔记本电脑以外的任何地方重现。仍然不知道为什么会这样,但是我不会删除这个 post 以防以后有人遇到这个神秘的问题。

您必须在 Windows。发生这种情况是因为 'CON' 是保留名称(无论扩展名如何),并且 Windows 将拒绝将具有这样名称的文件写入磁盘。