【问题标题】:Set csv record delimiter in Python Pandas在 Python Pandas 中设置 csv 记录分隔符
【发布时间】:2017-12-13 14:02:51
【问题描述】:

我使用 pandas python 库创建了一个脚本来合并几个 .csv 文件。所有文件都使用“\n\r”作为记录分隔符。 我遇到了一个文件的问题,在特定字段中,有时会出现“\n”。这导致pandas.read_csv 将其计为新行。

是否有机会(除了字段分隔符)指定记录分隔符?或者有没有更好的解决方案?

谢谢你和最好的问候

【问题讨论】:

    标签: python pandas csv delimiter


    【解决方案1】:

    查看pandas.read_csv中的所有kwargs

    还有lineterminatorkwarg:

    lineterminator : str (length 1), default None
        Character to break file into lines. Only valid with C parser.
    

    请注意,它需要使用 C 解析器(请参阅engine kwarg)

    鉴于您的行以\r 结尾,即carriage return character,我建议将其用作lineterminator 并进行后处理以清理\n 留下的内容。

    我认为设置lineterminator='\r' 应该可以解决您的问题。

    【讨论】:

    • 大家好。感谢您的快速响应。我对 Python 编程非常陌生。您能举个例子说明如何使用引擎 kwarg 实现 C 解析器的使用吗?我试图在没有它的情况下设置它,使用 lineterminator='\n\r',但我收到“仅支持长度为 1 的行终止符” - 我认为这是由于未使用 C 解析器。
    • 嗯。如果你只是用户'\r'怎么办?你可能需要做一些后期处理来清理你的行,但如果你有 '\n' 出现,我会假设你无论如何都会这样做。
    • 你好。这确实成功了。我将不得不对文件本身进行一些前/后处理,但你提到的解决了我的问题。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2016-10-05
    • 1970-01-01
    • 2011-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-05
    • 1970-01-01
    相关资源
    最近更新 更多