首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何清除大csv文件中的坏数据

如何清除大csv文件中的坏数据
EN

Stack Overflow用户
提问于 2020-02-21 08:55:21
回答 2查看 885关注 0票数 1

所以我有一个巨大的csv文件(假设5GB),我想将数据插入到表中,但是它返回的错误是数据的长度是不一样的。

我发现有些数据的列比我想要的多,例如,我拥有的正确数据有8列,但有些数据有9列(可能是人工/系统错误)。

我只想获取8列数据,但是由于数据太大,我不能手动完成,也不能在python中使用解析。

有什么方法推荐吗?

我使用的是linux,所以任何linux命令都欢迎

在sql中我使用的是副本..。从..。CSV头;命令将csv导入表

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-02-21 09:03:16

为此,您可以使用awk。假设您的字段分隔符是逗号(,),这段代码可以完成以下工作:

代码语言:javascript
复制
awk -F\, 'NF==8 {print}' input_file >output_file
票数 1
EN

Stack Overflow用户

发布于 2020-02-21 12:58:56

一个快速和脏的php解决方案,作为一个命令行:

代码语言:javascript
复制
php -r '$f=fopen("a.csv","rb"); $g=fopen("b.csv","wb"); while ( $r=fgetcsv($f) ) { $r = array_slice($r,0,8); fputcsv($g,$r); }'

它读取文件a.csv并写入b.csv

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60335133

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档