我正在尝试读取 .csv 文件并使用以下代码将其分配给数组:
const fs = require("fs");
const csv = require("@fast-csv/parse");
let data = []
csv
.parseFile("./downloads/aggiornamento.csv", { skipRows: 2 })
.on("error", (error) => console.error(error))
.on("data", (row) => {
let obj = {};
obj["item_id"] = row[2];
obj["qty"] = row[20];
data.push(obj);
console.log(obj);
})
.on("end", function () {
return data;
});
Run Code Online (Sandbox Code Playgroud)
但是,读取的文件fast-csv是流,因此我只能逐行处理。我需要在第二个时刻调用一些 API 服务的完整数组,因此我想同步读取文件,追加每一行,并在最后返回数组,这样,在第二个时刻,我可以包装上一个在函数中编写代码,并以如下方式获取数组:
const data = readCSVSynchronously()
我怎样才能做到这一点fast-csv?
我正在尝试过滤包含 n 个类别的 n 行的数据框。我希望每个类别dimension值按另一列排序revenues,然后dimension选择每个类别的前 10 个值并删除其余的值。
我尝试了以下代码片段,但它似乎没有达到我想要的效果:
data <- tbl_df(data) %>%
arrange(revenues) %>%
group_by(dimension) %>%
top_n(10)
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 react 钩子,并且我想在两件事发生变化时运行一个函数:
const Filter = ({ orderList, orders }) => {
const [from, setFrom] = useState();
const [to, setTo] = useState();
const [filteredList, setFilteredList] = useState(orders);
useEffect(() => {
const filteredOrders = orders.filter(function(item) {
return item.order_number >= from && item.order_number <= to;
});
setFilteredList(filteredOrders);
console.log(filteredList);
}, [from, to]);
Run Code Online (Sandbox Code Playgroud)
更准确地说,我只想在 BOTHfrom和tostate 更改时过滤数组,这是因为我试图从用户定义的某些输入中过滤数组。
我怎样才能做到这一点?
我有一个函数,可以在单击时设置useState,一切正常,但是每次都会收到警告:
Line 22: The 'handleClickOpen' function makes the dependencies of useEffect Hook (at line 20) change on every render. To fix this, wrap the 'handleClickOpen' definition into its own useCallback() Hook react-hooks/exhaustive-deps
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
useEffect(() => {
axios.get("/api/getBlacklist/").then(data => setBlacklistItems(data.data));
// eslint-disable-next-line
}, [handleClickOpen]);
function handleClickOpen() {
setOpen(true);
}
Run Code Online (Sandbox Code Playgroud)
我尝试用just 代替handleClickOpenin ,但是由于重新渲染过多,我的页面崩溃了。useEffectsetOpen(true)
如何处理这种情况?
我正在尝试格式化 a 中的一些字符串,data.frame并且当且仅当第二个字符是字母时,我想删除前导零:
3818119 --> 3818119
0M11936 --> M11936
0X11087 --> X11087
0T05060 --> T05060
到目前为止,我已经尝试了多种方法,最后gsub("^(?=[^A-Z]{2})","" ,output$id)和gsub("/^..[a-z]/","" ,output$id)但都没有成功。