csv 文件中的换行符导致问题

问题描述 投票:0回答:2

我正在尝试使用 html bootstrap 和 Javascript 从主 .csv 文件导入数据以显示在网站上。用户可以按关键字搜索此 .csv 文件,应该会看到包含该关键字的行。所有这些都有效,但问题是 .csv 文件在某些单元格中有新行。当我尝试将该信息读入网站时,它没有将数据保留在该列中,而是将其放在错误列下的新行中。我花了 2 周的大部分时间试图自己解决这个问题(本科生)并未能找到解决方案。

第一次在 StackOverflow 上发帖,希望得到一些专业知识。客户不想重新格式化 csv 文件信息以删除换行符,因此在没有提出新的源文件类型的情况下,我不知所措。谢谢!

我试过更改 .csv 文件上的分隔符,但似乎没有用..

--编辑--

例如,我的 CSV 文件的设置类似于:

^ 我的客户从 pdf 复制粘贴的新行之后的条目数据现在显示在“标题”下,而不是仅在条目下。

-再次,堆栈溢出的新手。初次使用者。对不起,如果我在这里没有做到最好。只是想弄清楚是否有 html 解决方案。感谢帮助!

javascript csv parsing newline
2个回答
0
投票

使用像 Papa Parse 这样的库

const { parse, unparse } = Papa;

const csvString = `
1,"Hello World",true,
2,"World",true,
3,"Hello",true,
4,"Hello
World",true,
5,"Foo",true,
`;

// Parse CSV into data matrix
const { data } = parse(csvString, {});

// Search all rows for columns containing the query
const search = (data, query) =>
  data.filter(row => row.some(col => col.includes(query)));

// Convert the results back into CSV
const results = unparse(search(data, 'World'));

// Show the processed CSV data
console.log(results);
.as-console-wrapper { top: 0; max-height: 100% !important; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/PapaParse/5.3.2/papaparse.min.js"></script>


-1
投票

感谢 Polywhirl 先生。使用 Papa Parse 成功了!

© www.soinside.com 2019 - 2024. All rights reserved.