0

我在 Windows 10 上通过 Anaconda 使用 IPython 3.4(是的,我知道)。我在虚拟机上的 Ubuntu 中使用相同版本的 IPython 编写的脚本,并尝试在 Windows 端运行它。我一直在尝试解决在 Linux 中使用“/”作为文件路径的问题,而不是在 Windows 中使用“\”。我尝试在 Windows 端将所有“/”实例简单地转换为“\”,但仍然收到以下错误:

OSError: [Errno 22] Invalid argument:
C:\\Users\\mike\\Desktop\\S15 NWEA\\Combined_CSVs\\Students_All 2015-08-27 20:12:34.csv'

我希望有一个简单的解决方案。在那儿?

这是整个错误输出:

OSError Traceback (most recent call last)
    <ipython-input-5-b1a80a7377c7> in <module>()
     37 Sframe = pd.concat(list,ignore_index=False)
     38 
---> 39 Sframe.to_csv(str(out_folder)+'\Combined_CSVs\Students_All '+str(st)+'.csv', sep=',')
     40 ##Concatenate fields and check for duplicates
     41     Sframe["TermSchoolStudent"]=Sframe["TermName"]+Sframe["SchoolName"]+Sframe["StudentID"].map(str)

C:\Users\mike\Anaconda3\lib\site-packages\pandas\core\frame.py in to_csv(self, path_or_buf, sep, na_rep, float_format, columns, header, index, index_label, mode, encoding, quoting, quotechar, line_terminator, chunksize, tupleize_cols, date_format, doublequote, escapechar, decimal, **kwds)
   1187                                      escapechar=escapechar,
   1188                                      decimal=decimal)
-> 1189         formatter.save()
   1190 
   1191         if path_or_buf is None:

C:\Users\mike\Anaconda3\lib\site-packages\pandas\core\format.py in save(self)
   1440         else:
   1441             f = com._get_handle(self.path_or_buf, self.mode,
-> 1442                                 encoding=self.encoding)
   1443             close = True
   1444 

C:\Users\mike\Anaconda3\lib\site-packages\pandas\core\common.py in _get_handle(path, mode, encoding, compression)
   2827                 f = open(path, mode, encoding=encoding)
   2828             else:
-> 2829                 f = open(path, mode, errors='replace')
   2830         else:
   2831             f = open(path, mode)

OSError: [Errno 22] Invalid argument:
C:\\Users\\mike\\Desktop\\S15 NWEA\\Combined_CSVs\\Students_All 2015-08-27 20:12:34.csv'

在此先感谢,迈克尔

4

1 回答 1

0

问题在于名为 2015-08-27 20:12:34.csv 的输出 CSV 部分。在 Linux 中,我可以在文件名中使用破折号和冒号,但在 Windows 中却不行。

于 2015-08-28T03:53:02.210 回答