【问题标题】:Python/Pandas - Read csv file with tab as delimter is not working as desiredPython/Pandas - 使用制表符作为分隔符读取 csv 文件无法正常工作
【发布时间】:2018-03-13 07:32:52
【问题描述】:

我有一个制表符分隔的 csv 文件,如下所示:

    1   2   3   4   5   6   7   8   9   10

    a   b   c   d   e   f   g   h   i   j

    k   l   m   n   o   p   q   r   s   t

而且,我正在使用以下代码将其读取到数据帧中

    df = pd.read_csv('C:/Users/IBM_ADMIN/Desktop/Delete/input1.csv',encoding='ANSI', delimiter='\t', header=0)

当我执行上面的代码时,我会得到像这张图片一样的输出 -> what_I_got

但是,我期待这样 -> desired_output

我尝试了很多方法来拆分列,但都不起作用。您能帮我解决一下吗?

【问题讨论】:

  • 似乎分隔符是, 尝试删除delimiter='\t',,因为默认分隔符是,
  • 成功了。非常感谢@jezrael
  • 对于实际遇到此问题的任何人(因为该问题的断言不准确):如果您使用双引号 delimiter="\t",您可能会将分隔符作为文字传递t - 尝试使用 delimiter="\\t" 对其进行双重转义以实际获得制表符。

标签: python pandas file


【解决方案1】:

您需要删除 delimiter='\t' - 分隔符是 ,

因为默认分隔符是,,所以它可以工作,也可以删除header=0,因为如果不是参数names,默认header=0

df = pd.read_csv('C:/Users/IBM_ADMIN/Desktop/Delete/input1.csv',encoding='ANSI')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-25
    • 2022-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多