【问题标题】:Struggling extracting columns data from csv file in Python努力从Python中的csv文件中提取列数据
【发布时间】:2021-05-06 13:06:45
【问题描述】:

我有以下 csv 文件,我想在其中绘制每一列(温度、电流和电压):

Date/Time:         01/03/2021 11.15.10
Parameter [s]:     6
Time [sec]:        30

Temp[C]    Cur[A]       Volt[V]
-------     -------     -------
-0,022468   0,00        0,00
-0,022481   0,00        0,00
-0,022582   0,00        0,00
-0,021734   0,00        0,00
-0,022541   0,00        0,00
-0,022658   0,00        0,00
-0,022723   0,00        0,00
-0,022253   0,00        0,00
-0,022048   0,00        0,00
-0,022066   0,00        0,00
-0,023073   0,00        0,00

我尝试了以下方法:

import pandas as pd
df = pd.read_csv(r'C:\Users\myUser\Desktop\myFile.csv', delimiter="/t", decimal=",") 

但是非常困惑,因为您看到的我的文件有 3 列,在 col1 和 col 2 之间有一个选项卡,在 col2 和 col3 之间有两个选项卡。该文件还有标题前 6 行。

如何使用 pandas 来做到这一点?

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    您可以将read_csvskiprows 参数设置为'-------' 为na_values,以便稍后使用dropna 轻松删除它:

    df = pd.read_csv('test.csv', sep='\s+', decimal=',',
                     skiprows=4, na_values='-------')
    
    df = df.dropna()
    df.plot()
    

    输出:

    【讨论】:

    • 非常感谢。你能告诉我我们如何只绘制一个特定的列吗? df[1] 或 df(1) 不起作用
    • @user1999 要按名称绘制列,您可以使用 loc 按名称绘制列或使用 iloc 按编号绘制列:df.loc[:, col_name].plot()df.iloc[:, col_number].plot()
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-22
    • 2022-06-11
    • 1970-01-01
    • 2019-12-16
    • 2022-07-07
    • 2021-08-15
    • 1970-01-01
    相关资源
    最近更新 更多