【问题标题】:File is not listed in directory, but can be written and loaded from there with Python / Pandas. An environment issue?文件未在目录中列出,但可以使用 Python / Pandas 从那里写入和加载。环境问题?
【发布时间】:2020-02-27 05:00:43
【问题描述】:

Python 3.6.4; Windows 10。现在还有 Anaconda / Python 3.7。 吨 他让我完全困惑。

此代码加载文件,并打印 csv 文件的第一行:

    import pandas as pd
    city_data = pd.read_csv("c:\\YelpData\\Data_PA.csv",usecols=range(1,11),encoding='latin-1')
    print(city_data.iloc[0])

输出:

user_id                       Kn_02c9-Jkpm3nakKk9mbg
business_id                   54rjpC8YuM3QN_QbFGmLAg
city                                         Belmont
postal_code                                    28012
categories      Restaurants;Italian;Sandwiches;Pizza
stars_b                                          3.5
review_count                                      51
stars                                              2
date                                      2012-06-09
useful                                             3

但是,该文件未在该目录中列出:

C:\YelpData>dir
 Volume in drive C is Windows
 Volume Serial Number is ************

 Directory of C:\YelpData

02/26/2020  09:44 PM    <DIR>          .
02/26/2020  09:44 PM    <DIR>          ..
02/26/2020  11:27 PM             3,513 DatasetManipulation.py
02/26/2020  09:44 PM        31,409,942 yelp_business.csv
09/26/2019  10:24 AM     3,791,120,545 yelp_review.csv
02/26/2020  09:39 PM     3,791,120,547 yelp_review_mod.csv
               4 File(s)  7,613,654,547 bytes
               2 Dir(s)  87,651,495,936 bytes free

C:\YelpData>

我以为我创建的 csv 文件没有被写入这个目录,但它是在某个奇怪的维度上。这是一些疯狂的熊猫环境问题吗?我不熟悉这种语言,我只是想写一些代码来加入两个 csv 文件。根据上面的输出,我的加入工作 - 我只需要实际的物理 CSV 文件 - 所以我可以使用不同的产品对其进行分析。 (我将上面的两行代码放在我的 python 程序的顶部,然后从 Windows 命令提示符运行它。所以它首先加载了那个不可见的文件。)

感谢您的帮助。

更新

根据要求,这里是创建 csv 文件的代码。

filename="c:\\YelpData\\Data_PA.csv"
filex = open(filename, "w")
DataPA.to_csv(filex)

我最初是这样尝试的。 (我刚刚用新的“\\”尝试了这个。)

DataPA.to_csv("c:\\YelpData\\Data_PA.csv")

我还在代码中将输出文件重命名为 Data_PA1.csv,并更改了“\\”,以防它以某种方式在某个未知位置/环境中使用旧文件。

更新

我几乎确定这是某种奇怪的环境问题。

  1. 我无法将 csv 文件写入不存在的目录。 (预期。)
  2. 我可以将 csv 文件写入现有目录,然后删除该目录,然后继续能够从已删除目录中读取文件(Python 程序可以)。 (!!!)(没想到。)
  3. 我可以在目录中添加一个同名的文件,大小为 0 (Data_PA.csv),Python 会继续读取它之前写入的文件(到某个地方)(!!!)(不是预期的。)

更新

我卸载了 Python,并安装了 Anaconda(包括 Python)。结果是一样的。

【问题讨论】:

  • dir /AH 是否显示文件?
  • 在这种情况下这不是问题,但通常使用带有 Windows 路径名的 python 原始字符串 (r"c:\YelpData\Data_PA.csv") 或正斜杠 ("c:/YelpData/Data_PA.csv") 是一个好主意。 ` \ ` 是 python 转义字符,例如 \t 是制表符,而不是子目录。
  • @tdelaney - 不,文件没有隐藏。
  • 嗯。自从我发布这篇文章以来已经 40 分钟(距离它让我发疯了 2 小时)。现在我很担心这个。莫名其妙。我明天再回来。
  • 您可以签入 Python os.listdir("c:\YelpData\")。如果您没有两个名称相似的文件夹,您也可以签入 `c:`

标签: python pandas csv environment hidden


【解决方案1】:

罪魁祸首是 Comodo 防火墙。在某些时候,自动遏制已经开启。我的阴影文件位于 c:/VTROOT/... 下的镜像目录结构中,还有很多其他我不想要的东西。我已禁用自动遏制。谷歌显示很多人都遇到过这种情况。

我知道我在 1.5 年前安装 Comodo 时并没有设置它,因为我不想要它。在某些时候,一个复选框被无意中设置了。好吧,现在我知道它是如何工作的了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-08-04
    • 2011-03-12
    • 1970-01-01
    • 2020-04-18
    • 2013-03-12
    • 2021-07-03
    • 2011-01-23
    相关资源
    最近更新 更多