Reactjs 在CSV中修改列数据

Reactjs 在CSV中修改列数据,reactjs,Reactjs,我从后端获得一个包含多个列的csv,但我想在将此csv导出为报告之前更改列中的数据。 今天,我使用react csv库导出报告 我要修改的列是类型。目前,她返回值​​产品和服务。我想展示的不是产品,而是新产品;我想展示的不是服务,而是二手产品 报告: "Title","Type","Advertiser","Category" "2 plots of 15x35 - R $ 15,000.00 each&q

我从后端获得一个包含多个列的csv,但我想在将此csv导出为报告之前更改列中的数据。 今天,我使用react csv库导出报告

我要修改的列是类型。目前,她返回值​​产品和服务。我想展示的不是产品,而是新产品;我想展示的不是服务,而是二手产品

报告:

"Title","Type","Advertiser","Category"
"2 plots of 15x35 - R $ 15,000.00 each","product","LUIZ FABIANO DE OLIVEIRA0","Properties"
"3 Industrial machines","service","GISELE SANTANA","services"
代码:

导出默认函数exem(){
const[dataExport,setDataExport]=React.useState([]);
函数getCSV(){
要求
.get(urlGetCSV()+`&page=${page}`)
.text()
。然后(响应=>{
setDataExport(响应)
});
}
返回(
报告
)
}

如果响应是数组,则可以在调用setDataExport之前重新映射它:

常量类型映射={
“产品”:“新产品”,
“服务”:“使用过的产品”
}
。然后(响应=>{
//查找“类型”列
const headers=response[0];//假定头位于第一行
const typeColumnIndex=headers.indexOf('Type');//具有'Type'标题的列的索引
response.forEach(item=>{//遍历每一行
//从行中获取类型
常量originalType=项[typeColumnIndex];
//将其替换为相应的映射。
//如果不存在映射,请保留原始值。
项[typeColumnIndex]=类型映射[originalType]| | originalType;
})
setDataExport(响应)
});

我复制了您的答案,但我得到了错误:未处理拒绝(TypeError):response.forEach不是一个函数我的示例假设
response
是一个行数组。如果您的API返回其他内容,请相应地调整代码。您能否提供
console.log(响应)内容给你什么?因为答案将取决于您在
响应中获得的格式。
export default function exem() {
    const [dataExport, setDataExport] = React.useState([]);

    function getCSV() {
        request
            .get(urlGetCSV() + `&page=${page}`)
            .text()
            .then(response => {
                setDataExport(response)
            });
    }
    return (
        <>
            <CSVLink
                data={dataExport}
                filename={`report-${new Date().toLocaleString()}.csv`}
                onClick={getCSV}
            >
                <Button>
                    Report
                  <Button.Icon>
                        <ReportIcon />
                    </Button.Icon>
                </Button>
            </CSVLink>
        </>
    )
}