Eclipse PyDev - 从Forked项目中读取CSV

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Eclipse PyDev - 从Forked项目中读取CSV相关的知识,希望对你有一定的参考价值。

我从GitHub(https://github.com/lazyprogrammer/machine_learning_examples)克隆了一份“machine_learning_examples”。在其中,它在“linear_regression_class”文件夹下有一个文件“data_2d.csv”。

我已将项目中的引用添加到“machine_learning_examples”项目中,并尝试使用不同目标文本的“from”和“import”语句,但无法确定引用“data_2d.csv”文件的语法。

我已经能够将csv文件本地复制到我项目中的文件夹,然后只需获取示例代码并修改目标:

import numpy as np

X = []

for line in open('data/data_2d.csv'):
    row = line.split(',')
    sample = list(map(float, row))
    X.append(sample)


X = np.array(X)
print(X)

这正常,正如预期的那样。但是,我想直接引用克隆项目中存在的csv。

答案

如果您的文件是在计算机中下载的,则必须包含文件的相对(或绝对)路径,并且必须检查Python脚本是否具有读取它的权限。如果包含相对路径,则始终根据正在执行的文件读取该路径。如果导入各种模块,我建议设置目录库的绝对路径,并使用os.join以避免与运行脚本的位置相关的不一致。

如果文件不在你的计算机中,那就是在互联网上(无论是你自己的回购还是分叉回购 - 甚至是私人VPS或WordPress网站),您无法将其加载到Python脚本中。您必须将其下载到本地目录,然后打开它。

另一种选择是将其下载到一个类似文件的对象中,该对象不存储在磁盘中,但存储在内存中(有点临时下载),然后在完成后删除该对象。看这里的例子:

(编辑的例子取自Python - Download File Using Requests, Directly to Memory

import io
import zipfile
from contextlib import closing
import requests # $ pip install requests

import csv

r = requests.get(url_to_file)
with closing(r), io.BytesIO(r.content) as archive:
    # do whatever you want with your archive
    # you can, for example, import it with csv
    reader = csv.reader(archive)
    # or
    writer = csv.writer(archive)

有关csv文档,请参阅https://docs.python.org/3/library/csv.html

另一答案

尝试在运行时将csv目录添加到Python路径,

import sys
sys.path.append('/csvfilepath')

以上是关于Eclipse PyDev - 从Forked项目中读取CSV的主要内容,如果未能解决你的问题,请参考以下文章

Eclipse,PyDev“未指定项目解释器”

如何在eclipse+pydev运行scrapy项目

PyDev Eclipse使用技巧说明

Python开发环境:使用Eclipse+PyDev插件创建Django项目

在 PyDev Eclipse 项目文件中使用环境变量

Eclipse和PyDev搭建完美Python开发环境 Windows篇