如何从子文件夹读取文件。
import React, {useState, useEffect} from "react";
import Modal from "../components/UI/Modal/Modal";
const withErrorHandler = (WrappedComponent, axios) => {
return (props) => {
const [error, setError] = useState(null);
const requestInterceptor = axios.interceptors.request.use((req) => {
setError(null);
return req;
});
const responseInterceptor = axios.interceptors.response.use(
(res) => res,
(err) => {
setError(err);
}
);
useEffect(() => {
return () => {
axios.interceptors.request.eject(requestInterceptor);
axios.interceptors.response.eject(responseInterceptor);
};
}, [requestInterceptor, responseInterceptor]);
const errorConfirmedHandler = () => {
setError(null);
};
return (
<React.Fragment>
<Modal showModal={error ? true : false} closeModal={errorConfirmedHandler}>
{error ? error.message : null}
</Modal>
<WrappedComponent {...props} />
</React.Fragment>
);
};
};
export default withErrorHandler;
... folder ------ subfolder_1
|
|--- subfolder_2
subfolder_1
中访问文件?folder
subfolder_1
中访问文件?我要问的原因是我想读取一个Excel文件(使用subfolder2
包),但是它不起作用。 (“ MethodError:没有与readtable(:: String ... ”匹配的方法)我想我在这里做错了其他事情。
此外,我觉得其他人也可能对此问题感兴趣。
答案 0 :(得分:1)
MethodError表示您要使用的函数并非针对您输入的输入而设计。要获取有关该函数及其所需参数的更多信息,请在输入以下内容后在REPL中键入? <functionname>
输入using <packagename>
。
在这种情况下,? readtable
显示以下内容:
readtable(filepath, sheet, [columns]; [first_row], [column_labels], [header], [infer_eltypes], [stop_in_empty_row], [stop_in_row_function]) -> data, column_labels
前两个参数filepath
和sheet
是必需的。方括号中的参数是可选的。对于您的情况,您需要添加第二个字符串参数,其中包含要从XLSX文件读取的工作表名称。帮助还显示输出将是包含(data, column_labels)
的元组,因此请准备好处理它。通常,该元组将使用DataFrames.jl和函数DataFrame()
(例如DataFrame(readtable(filepath,sheet))
)转换为DataFrame。
对于访问文件夹和子文件夹,您输入的路径可以相对于Julia的当前工作目录,也可以是绝对路径,这取决于您的操作系统。子文件夹用/
之类的"folder/subfolder"
表示。您可以使用双点..
(例如"subfolder2/../subfolder1"
)上一个文件夹。