有没有办法使用给定目录中的 numpy.genfromtxt 从 csv 读取数据?
Is there a way to read data from csv using numpy.genfromtxt from a given directory?
我应该通过 argparse 读取 csv 文件路径。例如,csv 文件的路径是 args.X,我该如何将这些数据加载到 2d numpy 数组中?现在我正在使用 Data = np.genfromtxt(args.X, delimiter=",")
,当 args.X 包含文件名而不是路径并且文件与 python 脚本位于同一文件夹中时,此方法有效。当数据不在同一文件夹中并且我已获得文件路径而不是文件时,我该如何读取?
您似乎遇到了反斜杠消失的问题,这很奇怪。无论如何,您最好告诉 argparse 您想要一个 Path
对象(并使用一个)。您可能需要这样的代码:
import numpy as np
from pathlib import Path
from argparse import ArgumentParser
parser = ArgumentParser()
parser.add_argument("IN", type=Path)
parser.parse_args()
inf = args.IN.expanduser().resolve()
if not inf.exists():
raise FileNotFoundError(f"No such file: {inf}")
Data = np.genfromtxt(inf, delimiter=",")
我应该通过 argparse 读取 csv 文件路径。例如,csv 文件的路径是 args.X,我该如何将这些数据加载到 2d numpy 数组中?现在我正在使用 Data = np.genfromtxt(args.X, delimiter=",")
,当 args.X 包含文件名而不是路径并且文件与 python 脚本位于同一文件夹中时,此方法有效。当数据不在同一文件夹中并且我已获得文件路径而不是文件时,我该如何读取?
您似乎遇到了反斜杠消失的问题,这很奇怪。无论如何,您最好告诉 argparse 您想要一个 Path
对象(并使用一个)。您可能需要这样的代码:
import numpy as np
from pathlib import Path
from argparse import ArgumentParser
parser = ArgumentParser()
parser.add_argument("IN", type=Path)
parser.parse_args()
inf = args.IN.expanduser().resolve()
if not inf.exists():
raise FileNotFoundError(f"No such file: {inf}")
Data = np.genfromtxt(inf, delimiter=",")