我有一个来自外部的csv文件,所以我无法更改其定义或格式,我必须将其读入数据库
对于csv格式,该文件有些东西看起来很奇怪,我想知道是否有一种方法可以使用csv.reader或pandas导入它,而不必使用regex或类似工具进行某些特定更正
该文件使用管道(|)作为分隔符。 请看以下两行示例:
1. '11|2000-02-18|Badjora|22|33|44|55|""|""Wood 6.5"" Long Line (Pine - Category:15 m | Humidity max: 13 g/m3)""|4'
2. '333|1999-02-18|Badjora|444|555|666|777|""|"""|4'
有没有办法将其解释为以下字段
1. 11,2000-02-18,Badjora,22,33,44,55,,"Wood 6.5"" Long Line (Pine - Category:15 m | Humidity max: 13 g/m3)",4
2. 333,1999-02-18,Badjora,444,555,666,777,,",4
类似于“考虑引号中包含的所有内容”
我尝试使用不同的导入设置选项,但没有成功。此格式似乎对csv无效
事先非常感谢
问候大家
假设您的
.csv
文件如下所示:您可以通过以下方式读取该文件:
这很好地输出:
但是,如果要修复分隔符,请使用以下命令:
提出了这个带有pandas的hacky regex分隔符,它适用于给定的示例。我不建议这样做,也不建议使用正则表达式实际修复csv。不管怎样,给你:
仍然存在可能断裂的区域,例如管道附近没有任何空间。还有一个实际的分离器管道,其前后都有空间。主要问题是您的csv有未替换的引号导致这些问题
相关问题 更多 >
编程相关推荐