我正在尝试使用带有日期列的sheetjs节点模块读取XLSX文件。解析后我得到的数据格式不正确
文件数据为:2020年2月17日
但 xlsx 读完后,它给了我 2/17/20。它正在改变年份格式。我的要求是按原样获取数据。
示例代码:
var workbook = XLSX.readFile('a.xlsx', {
sheetRows: 10
});
var data = XLSX.utils.sheet_to_json(workbook.Sheets['Sheet1'], {
header: 1,
defval: '',
blankrows: true,
raw: false
});
Run Code Online (Sandbox Code Playgroud) 我有一个 txt 文件,其中包含以下数据
Name mobile url message text
test11 1234567890 www.google.com "Data Test New
Date:27/02/2020
Items: 1
Total: 3
Regards
ABC DATa
Ph:091 : 123456789"
test12 1234567891 www.google.com "Data Test New one
Date:17/02/2020
Items: 26
Total: 5
Regards
user test
Ph:091 : 433333333"
Run Code Online (Sandbox Code Playgroud)
现在您可以看到我的最后一列数据具有换行符。所以当我使用下面的命令时
awk 'END{print NR}' file.txt
Run Code Online (Sandbox Code Playgroud)
它给我的长度是 15 但实际上线长度是 3 。请建议相同的命令
编辑部分:根据给出的答案,如果输入文件末尾没有换行符,则以下脚本不起作用
awk -v RS='"[^"]*"' '{gsub(/\n/, " ", RT); ORS=RT} END{print NR "\n"}' test.txt
Run Code Online (Sandbox Code Playgroud)
另外我的文件可能有 3-4 百万条记录。所以将文件转换为 unix 格式需要时间,这不是我的偏好。所以请提出一些在两种情况下都适用的最佳解决方案
head 5.csv | cat -A
Above command is giving …Run Code Online (Sandbox Code Playgroud) CSV 文件可以包含带新行的数据。它可以与任何列。还有一些行可以有没有任何新行的数据,所以它应该适用于所有情况
样本输入
ID,username,mobile,city,Message,Address,city
'11111111',TestUSer,1234567890,test,"Hi how are you? Well: we will connnect
Thanks for your time!
With Joy.
Test",Address test,City test
11111116,TestUser,1234567891,test,hello msg,Address test1,City test1
'111111167',TestUSer,1234567890,test,"Hi how are you one? Well: we will connnect
Thanks for your time!
With Joy.
Test",Address test,City test
11111112,TestUser,1234567891,test1,hello msg1,Address test2,City test2
11111113,TestUser,1234567891,test1,hello msg1,Address test2,City test2
11111114,TestUser,1234567891,test1,hello msg1,Address test2,City test2
Run Code Online (Sandbox Code Playgroud)
我正在使用以下命令读取 csv 的前 5 条记录
awk -v RS='("[^"]*")?\r?\n' 'NF{ORS = gensub(/\r?\n(.)/, "\\\\n\\1", "g", RT); ++n; print} n==5{exit}' file.csv
Run Code Online (Sandbox Code Playgroud)
实际输出:
ID,username,mobile,city,Message,Address,city
'11111111',TestUSer,1234567890,test,"Hi how are you? Well: …Run Code Online (Sandbox Code Playgroud)