OSError:[Errno 71]熊猫,python3中的协议错误

时间:2018-09-21 01:52:48

标签: python python-3.x pandas dataframe error-handling

我有一个具有pandas依赖关系的python应用程序。该应用程序在完整的ubuntu 18系统上运行良好。但是,对于安装在virtualbox上的ubuntu,该应用程序会遇到错误(如下所示)。

Traceback (most recent call last):
  File "/media/sf_UbuntuShare/phase-Extender-master/phase-Extender.py", line 1834, in 
    main()
  File "/media/sf_UbuntuShare/phase-Extender-master/phase-Extender.py", line 536, in main
    sep='\t', index=False, header=True)
  File "/usr/local/lib/python3.5/dist-packages/pandas/core/frame.py", line 1524, in to_csv
    formatter.save()
  File "/usr/local/lib/python3.5/dist-packages/pandas/io/formats/format.py", line 1637, in save
    compression=self.compression)
  File "/usr/local/lib/python3.5/dist-packages/pandas/io/common.py", line 390, in _get_handle
    f = open(path_or_buf, mode, encoding=encoding)
OSError: [Errno 71] Protocol error: 'chunked_Data_NA12889/NA12889:20'


我基本上要做的是在分组后将大熊猫数据框分成块。 以下是代码过程:

import pandas as pd

# assign value to "soi" variable
soi = "some user defined string value"

# read a textfile into pandas
pd.read_table(some_data, delimiter='\t')

# group a pandas dataframe by a unique value of a column
good_data_by_group = good_data.groupby('CHROM', sort=False)

# create a folder to store the data
if os.path.exists('chunked_Data_' + soi):
            shutil.rmtree('chunked_Data_' + soi, ignore_errors=False, onerror=None)
        os.makedirs('chunked_Data_' + soi + '/', exist_ok=True)

# now split the pandas dataframe into chunks
for chr_, data_by_chr in good_data_by_group:
            pd.DataFrame.to_csv(data_by_chr, 'chunked_Data_' + soi + '/' + soi + ':' + str(chr_),
                                sep='\t', index=False, header=True)


返回错误的实际代码行是:

pd.DataFrame.to_csv(data_by_chr, 'chunked_Data_' + soi + '/' + soi + ':' + str(chr_), sep='\t', index=False, header=True)`


这里到底有什么问题?
该代码可在我的完整阶段ubuntu 18上运行。但是,实际上不在虚拟盒ubuntu中。我认为这更多是兼容性问题,而不是代码问题。但是,有没有一种方法可以更改代码以使应用程序在所有ubuntu系统中运行,无论它们是否具有sudo特权,无论它们是全阶段的ubuntu还是虚拟盒虚拟环境。

0 个答案:

没有答案