【问题标题】:Import CSV using pandas with header size different from content size使用标题大小与内容大小不同的 pandas 导入 CSV
【发布时间】:2021-05-15 10:53:57
【问题描述】:

我正在尝试使用 pandas 导入内容行长度与标题行长度不同的 CSV 文件。

example.csv

COL1;COL2
1;A;A
2;B;B
3;C;C

预期结果:

COL1 COL2 Unnamed
1 A A
2 B B
3 C C

我得到的结果:

输入:

pd.read_csv(
    "example.csv",
    sep=";")

输出:

(Index) COL1 COL2
1 A A
2 B B
3 C C

使用index_col = False

输入:

pd.read_csv(
    "example.csv",
    sep=";",
    index_col = False)

输出:

COL1 COL2
1 A
2 B
3 C

有没有办法使用 pandas 导入 example.csv 并获得预期的结果?

编辑:Unnamed 是 Pandas 在某些情况下为未知列提供的默认列名。无需命名为Unnamed

【问题讨论】:

  • 您可以使用names = [' ', ' ' , ' ']将列名传递给read_csv
  • @MD 这是一个选项,但不是我想要的。通常我处理的文件的列和行大小是未知的。

标签: python pandas csv


【解决方案1】:

我会照常阅读,重置索引并移动列:

df = pd.read_clipboard(sep=';').reset_index()
df.columns = df.columns[1:].tolist()+['Unnamed']

【讨论】:

  • 有趣的方法,但我需要生成 Unnamed 名称。如果可能的话,如果熊猫这样做会更好(就像其他情况一样)。
猜你喜欢
  • 2021-05-10
  • 1970-01-01
  • 1970-01-01
  • 2020-09-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多