Python pandas read_csv在Mac OS上通过cron运行时不工作

Python pandas read_csv在Mac OS上通过cron运行时不工作,python,pandas,csv,cron,oserror,Python,Pandas,Csv,Cron,Oserror,我有一个由cron运行的python脚本。脚本导入pandas模块,并使用read_csv将csv加载到数据帧,然后将其保存到另一个csv“apath”是文件的绝对路径: statedata_raw=pd.read_csv(apath+'statedata.csv') statedata_raw.to_csv(apath+'state_data.csv',index=False) csv文件上的权限设置正确-rwxr-xr-x 当我在命令行中运行它时,一切正常。当我通过cron运行它时

我有一个由
cron
运行的python脚本。脚本导入pandas模块,并使用
read_csv
将csv加载到数据帧,然后将其保存到另一个csv“apath”是文件的绝对路径:

statedata_raw=pd.read_csv(apath+'statedata.csv')
statedata_raw.to_csv(apath+'state_data.csv',index=False)    
csv文件上的权限设置正确
-rwxr-xr-x

当我在命令行中运行它时,一切正常。当我通过cron运行它时,会出现以下错误:

Traceback (most recent call last):
  File "/users/maderman/wdtest.py", line 21, in <module>
    statedata_raw=pd.read_csv(apath+'statedata.csv')
  File "/opt/miniconda3/lib/python3.7/site-packages/pandas/io/parsers.py", line 676, in parser_f
    return _read(filepath_or_buffer, kwds)
  File "/opt/miniconda3/lib/python3.7/site-packages/pandas/io/parsers.py", line 448, in _read
    parser = TextFileReader(fp_or_buf, **kwds)
  File "/opt/miniconda3/lib/python3.7/site-packages/pandas/io/parsers.py", line 880, in __init__
    self._make_engine(self.engine)
  File "/opt/miniconda3/lib/python3.7/site-packages/pandas/io/parsers.py", line 1114, in _make_engine
    self._engine = CParserWrapper(self.f, **self.options)
  File "/opt/miniconda3/lib/python3.7/site-packages/pandas/io/parsers.py", line 1891, in __init__
    self._reader = parsers.TextReader(src, **kwds)
  File "pandas/_libs/parsers.pyx", line 374, in pandas._libs.parsers.TextReader.__cinit__
  File "pandas/_libs/parsers.pyx", line 678, in pandas._libs.parsers.TextReader._setup_parser_source
OSError: Initializing from file failed
我发现另一篇帖子建议将参数
engine='python'
传递给
read\u csv
,但这没有任何作用

所以我知道:

  • cron运行python很好
  • 它可以导入pandas并运行几个不同的pandas功能
  • 文件权限没有问题
  • 该问题似乎与
    read\u csv
    commmand特别相关


    任何建议都将不胜感激。

    关于这个问题的框架是错误的,可以归结为权限问题。这里发布并回答了一个更好的问题:

    这个问题的框架是错误的,可以归结为权限问题。这里发布并回答了一个更好的问题:

    我做了更多的研究,排除了一些事情。read_csv确实有效,但仅当它打开通过cron本身创建的文件时才有效。我怀疑有某种深奥的权限问题,但还没有弄清楚。我在这里以更具体的方式重新定义了这个问题:我做了更多的研究,排除了一些事情。read_csv确实有效,但仅当它打开通过cron本身创建的文件时才有效。我怀疑有某种深奥的权限问题,但还没有弄清楚。我在这里以更具体的方式重新阐述了这个问题:
    cat=['a','a','a','a','a','b','b','b','b','b']
    val=[1,2,3,4,5,6,7,8,9,10]
    columns=['cat','val']
    data=[cat,val]
    dict={key:value for key,value in zip(columns,data)}
    statedata_raw=pd.DataFrame(data=dict)