python - 从不同目录 Python 打开 CSV

标签 python csv directory

我一直在做一个需要导入 csv 文件的项目,之前 csv 文件一直在同一个工作目录中。现在项目越来越大,所以出于安全和组织原因,我更愿意将它们放在不同的目录中。

我看过其他一些询问类似问题的问题,但我无法弄清楚如何将它们应用到我的代码中,因为每次我尝试时,我都会收到相同的错误消息,主要是:

IOError: [Errno 2] No such file or directory:

我最初的尝试都是这样的:

import csv      # Import the csv module
import MySQLdb  # Import MySQLdb module

def connect():

    login   = csv.reader(file('/~/Projects/bmm_private/login_test.txt'))

我也多次更改路径,先删除第一个/然后删除 ~ 然后再删除/,但每次我都收到错误消息。然后我通过导入操作系统尝试了几个人建议的另一种方法:

import os
import csv      # Import the csv module
import MySQLdb  # Import MySQLdb module

def connect():

    path    = r'F:\Projects\bmm_private\login_test.txt'
    f       = os.path.normpath(path)
    login   = csv.reader(file(f)) 

但是我又收到了错误信息。

如果我可以要求您在您知道的任何答案中使用真实路径 (~/Projects/bmm_private/login_test.txt),那么这里的任何帮助将不胜感激,这样我就很清楚我错过了什么这里。

我是 python 的新手,所以如果没有额外的清晰/解释,我可能很难理解。提前致谢!

最佳答案

波浪号告诉我这是主文件夹(例如 C:\Users\<username> 在我的 Windows 系统上,或 /Users/<username> 在我的 Mac 上)。如果要扩展用户,使用os.path.expanduser调用:

full_path = os.path.expanduser('~/Projects/bmm_private/login_test.txt')
# Now you can open it

另一种方法是查找与当前脚本相关的文件。例如,如果您的脚本位于 ~/Projects/my_scripts 中,然后:

script_dir = os.path.dirname(__file__)  # Script directory
full_path = os.path.join(script_dir, '../bmm_private/login_test.txt')
# Now use full_path

关于python - 从不同目录 Python 打开 CSV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33857914/

相关文章:

python - Distutils 安装程序在 Mac OS X 上生成 .so 而不是 .dylib

python - 通过 RRULE 和 DTSTART 从重复事件中获取日期

javascript - 如何导出带有文件名的csv文件

ruby - 使用 ruby​​ 将一行字符串分成单独的列

c - 在 C 中访问目录

linux - 如果文件夹中有超过 100 万个文件,则删除文件夹及其所有内容

Python SciPy RectSphereBivariateSpline 插值生成错误数据?

Python编码/解码问题

python - 值错误 : Number of features of the model must match the input

android - 如何删除整个文件夹和内容?