我正在处理一些错误创建的CSV文件。有引号和逗号互连,即使用标签替换所有列分隔逗号,我仍然会从pd.read_csv中解析错误。
尽管如此,Numbers(Apple的Excel)可以完美地读取文件,并且在将其重新保存为csv之后,Pandas可以无缝地生成数据帧。因此,我想知道是否有一种方法,优先通过Python,在Numbers / Excel中自动导入导出(可能是一个API?)来修复我的CSV,或者找出他们做了什么来纠正它们。
编辑:CSV行如下所示:
" ID"" lastVisitTimeLocal"" lastVisitTimeUTC""标题"" URL"&# 34; typedCount"" visitCount""" []" _id"" _id" 8986," 06/03 / 201,20:00:48"," 3/6/2018 2:30:48 PM","",& #34; https://chrome.google.com",0,1,3000001,2000001
虽然有些标题包含逗号而某些链接包含引号,但我仍然会解析错误,尽管Numbers / Excel可以无缝地解析它们。
EDIT2:我正在寻找执行以下操作的管道:
file.csv --excel_engine - > file.xlsx --excel_engine - > file2.csv
答案 0 :(得分:1)
您是否尝试过在quoting
中设置doublequote
和pd.read_csv()
?对我来说奇怪的是,Pandas无法读取Excel可以读取的csv(我通常会遇到Excel问题; Pandas遇到的唯一问题是NUL字符)。
或者,您也可以在VBA中运行它:
Sub openCsvAndSave()
Dim csv_paths, path
csv_paths = Array(path1, path2, ...) ' Set your csv paths here '
For Each path in csv_paths
Dim NewWb As Workbook: Set NewWb = Workbooks.Open(path)
NewWb.SaveAs Left(path, Len(path) - 4) & "_2.csv", xlCSV
Next path
End