【发布时间】: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,并更改了“\\”,以防它以某种方式在某个未知位置/环境中使用旧文件。
更新
我几乎确定这是某种奇怪的环境问题。
- 我无法将 csv 文件写入不存在的目录。 (预期。)
- 我可以将 csv 文件写入现有目录,然后删除该目录,然后继续能够从已删除目录中读取文件(Python 程序可以)。 (!!!)(没想到。)
- 我可以在目录中添加一个同名的文件,大小为 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