通过Excel / Numbers [自动通过Python]修复csv文件?

时间:2018-03-10 12:25:49

标签: excel pandas csv dataframe excel-automation

我正在处理一些错误创建的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

1 个答案:

答案 0 :(得分:1)

您是否尝试过在quoting中设置doublequotepd.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