【问题标题】:How to remove delimiter column in the pandas dataframe如何删除熊猫数据框中的分隔符列
【发布时间】:2022-01-27 16:08:24
【问题描述】:

我在 .csv 文件中有以下数据集

当我阅读文件时,我会得到类似的东西

df = pd.read_csv("xxx.csv",dtype = str ,header = None, encoding='utf-8')
df.head()
0   1   2   3   4   5  6 
63  |   ssd |   23  | 4kj
63  |   ssd |   30  | 4rc
63  |   ssd |   900 | 4rt
63  |   ssd |   100 | Bqa
63  |   ssd |   140 | 8er
63  |   ssd |   10  | 8df
63  |   ssd |   40  | Bfr

如上面的数据框 0,1,2,3,4,5,6。当我阅读 XXX.csv 文件时,我只需要包含我不想要带有分隔符的列的信息的列。

预期输出

    0    1   2  3
    63  ssd 23  4kj
    63  ssd 30  4rc
    63  ssd 900 4rt
    63  ssd 100 Bqa
    63  ssd 140 8er
    63  ssd 10  8df
    63  ssd 40  Bfr

我如何在阅读 XXX.csv 文件时得到这个

我不想使用df = df.drop('column_name', 1),因为我的数据将是动态的。

我想在读取 XXX.csv 文件时去掉分隔符列。

【问题讨论】:

  • 你的 csv 文件是什么样的?它看起来像sep='|',即管道分隔文件。同时默认sep=',',用于创建列...
  • @buran 我的文件看起来像 'sep = '|''
  • 然后检查@dimz 答案。如果第 3294 行有问题 - 检查您的文件
  • @buran 已经检查过的文件没有问题,我只想在读取 .csv 文件时删除分隔符列。我已经尝试过他的解决方案它不起作用
  • 请复制/粘贴您文件中 5-10 行的样本。如果它是管道分隔文件,@dimz 建议的解决方案将起作用。您在 cmets 中声称的问题在文件的特定行上。

标签: python pandas dataframe csv


【解决方案1】:

你试试这个。 ?

import pandas as pd

df = pd.read_table('file.csv', delimiter='|')

df = pd.read_csv('file.csv', sep='|')

【讨论】:

  • 是的,我试过了,但没有用,我收到以下错误消息 “ParserError:错误标记数据。C 错误:预期第 3294 行中的 31 个字段,看到 67”
  • 尝试 df.replace('|', ","),然后使用 pd.read_csv('file.csv')
  • 数据有问题,需要数据清洗,请检查所有行的分隔符是否一致。
  • 是的分隔符是一致的@dimz
  • 你可以尝试几行文件吗?
猜你喜欢
  • 1970-01-01
  • 2021-09-10
  • 2019-08-25
  • 1970-01-01
  • 2016-09-16
  • 2017-07-27
  • 1970-01-01
  • 2021-02-02
  • 1970-01-01
相关资源
最近更新 更多