如何读取Python / Pandas中的.csv文件,其中逗号(,)是一个分隔符并且也出现在列名中?

时间:2018-06-09 09:00:08

标签: python pandas csv

我有一个像下面这样的.csv文件,其中一些列名中也有逗号。

#NAME,DATE,RECORDS,QUANTITY
Johb.W. Smith, LLC,03/01/2018 to 03/29/2018,728,32309.77
XXX Industrial Ltd, Inc.,07/27/2017 to 07/28/2017,2,312.00
XYSC,03/02/2018 to 03/29/2018,387,4468.50

当我尝试在Python / Panda中读取它时,可用的列正在移位(因为系统将其视为新的行值,实际上并非如此)。

#NAME                         DATE                       RECORDS
Johb.W. Smith                 LLC                        03/01/2018         728.0   
XXX Industrial Ltd            Inc.                       07/27/2017      2.0    
XYSC                          03/02/2018                 387    

For.Ex-在ROW no-1,Johb.W。 Smith LLC是一个完整的名称(实际上在原始csv文件中用逗号分隔,因此将熊猫视为新的单元格值)

有谁能建议如何摆脱这个?实际输出应如下所示:

#NAME                      DATE                      RECORDS                 
Johb.W. Smith LLC          03/01/2018 to 03/29/2018  728    
XXX Industrial Ltd Inc.    07/27/2017 to 07/28/2017  2  
XYSC                       03/02/2018 to 03/29/2018  387    

2 个答案:

答案 0 :(得分:2)

csv存在问题,因为如果分隔符为,且某些值包含,,则显然会添加引用有效csv的值:

以下不是一般解决方案,如果有问题的值仅在第一列或最后一列中。

按分隔符创建一列DataFrame,该列不在|之类的数据中,并按rsplitsplit)分隔参数n {{1 } {},number of columns - 1

3

答案 1 :(得分:0)

手动输入数据或编辑文件以进行更正。

可以使用正则表达式或其他模式匹配来猜测值应该分离的位置,但这些不会在所有情况下都有效,并且很可能无法预测失败。

如果有人向您承诺提供csv文件,请拒绝此文件,并请他们很好地提供正确格式化的CSV文件。