【问题标题】:Python reads csv in just one columnPython 仅在一列中读取 csv
【发布时间】:2021-06-01 05:49:03
【问题描述】:

所以我是 python 的相对新手(使用带有 spyder IDE 的 Python 3),我尝试读取包含一些天气数据的 csv 文件。enter image description here 问题是我拥有的文件包含一些空单元格和我不需要的信息。我只需要从第 18 行作为标题(数据的所有物理描述,例如温度、压力等都存储在这一行中)和所有列。当我在 python 中尝试以下操作时:

import pandas as pd

import numpy as np

df = pd.read_csv(r'C:\Users\troes\OneDrive\Dokumente\studium\8 Semester\BAT\code_transfer\VNYA16.201812160000.csv')

df = df[16:91]

Python 将所有数据存储在一列中,例如 enter image description here

但我想要的输出是一个数据帧,它在第一列中包含 DATE_TIME、第二个 LEAD_TIME、第三个 T_2M_K 等等。

有人知道如何正确解决这个问题吗?

【问题讨论】:

  • 这些逗号在您的文件中吗?在我看来,它们就像分号。写sep=";" csv 代表逗号分隔值。
  • read_csv 有一个 sep 参数,供初学者使用。它还有skiprows
  • 使用 sep=(';') 给我以下错误:错误标记数据。 C 错误:预计第 4 行有 3 个字段,看到 5,问题是我认为第 18 行开头的 2 个空单元格
  • 您是否尝试过使用skiprowsheader

标签: python pandas csv


【解决方案1】:

在 pandas 中,默认分隔符是逗号(这并不奇怪,因为 csv 代表“逗号分隔值”)。你的是分号。要更改它,您需要修改命令以包含以下内容:pd.read_csv(sep=';')。如果这还不够,那么整行将是:

df = pd.read_csv(r'C:\Users\troes\OneDrive\Dokumente\studium\8 Semester\BAT\code_transfer\VNYA16.201812160000.csv', sep=';')

这里是link to the documentation,以防想了解更多信息。

【讨论】:

  • 感谢您的帮助,但与我的文件中的行完全相同。我已经尝试过 sep=(";") 这给了我来自 python 的以下错误:错误标记数据。 C 错误:预计第 4 行中有 3 个字段,看到 5
  • 复制我输入的内容再试一次。我这么说是因为在你上面的评论和你的问题中你都说你已经输入了“sep=('; ')" 这不是建议的内容。
【解决方案2】:

这可能会帮助您朝着正确的方向前进:

pd.read_csv() 可以接受一些额外的参数。请在此处查看 Pandas 文档:pandas.read_csv

首先,由于您在标题之前有额外的行,请添加 header 参数来指定行。例如

pd.read_csv(path_to_file, header = 17) 

read_csv() 中的默认分隔符是“,”,而您的分隔符看起来是“;”。因此,我还将添加分隔符参数。例如:

pd.read_csv(path_to_file, header=17, sep=';') 

希望这能让你得到一些更合理的东西。

【讨论】:

  • 非常感谢。这给了我我想要的输出
  • 没问题。如果可以的话,请将答案标记为已接受,以供将来查找此问题的任何人使用。
【解决方案3】:

使用pd.read_csvskip_rows 功能。

df = (pd.read_csv(r'C:\Users\troes\OneDrive\Dokumente\studium\8 Semester\BAT\code_transfer\VNYA16.201812160000.csv', 
                  sep=';', 
                  skip_rows=18))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-08
    • 1970-01-01
    • 2017-03-11
    • 1970-01-01
    • 2018-11-02
    • 1970-01-01
    • 2017-01-14
    • 2022-01-07
    相关资源
    最近更新 更多