【问题标题】:Add commas to a CSV file with pandas使用 pandas 将逗号添加到 CSV 文件
【发布时间】:2020-06-30 23:23:36
【问题描述】:

我有一个从 Linux sosreport 获取的文件,我想制作一个饼图,问题是在将文件转换为 CSV 时,它不包含逗号并创建它为 1 列。

文件如下所示:

MemFree:      11988456 kB
Buffers:         47456 kB
Cached:        2304036 kB
SwapCached:        772 kB
Active:        3625348 kB
Inactive:       397832 kB
HighTotal:           0 kB
HighFree:            0 kB
LowTotal:     16306056 kB
LowFree:      11988456 kB
SwapTotal:     8191992 kB
SwapFree:      8122928 kB
Dirty:           50552 kB
Writeback:           0 kB
AnonPages:     1434016 kB
Mapped:        2065024 kB
Slab:          123484 kB
PageTables:     121432 kB
NFS_Unstable:        0 kB
Bounce:              0 kB
CommitLimit:  16345020 kB
Committed_AS: 5883888 kB
VmallocTotal: 34359738367 kB
VmallocUsed:    267500 kB
VmallocChunk: 34359470295 kB
HugePages_Total:     0
HugePages_Free:      0
HugePages_Rsvd:      0
Hugepagesize:     2048 kB

将 meminfo 文件转换为 CSV 文件,如下所示:

df.to_csv('meminfo.csv', header=False, index=False)

我也在尝试命名列,但我不能。

抱歉,我是数据可视化领域的新手

【问题讨论】:

    标签: python pandas matplotlib visualization


    【解决方案1】:

    通过使用 python 引擎,您可以将分隔符定义为正则表达式。添加更多字段来处理标题、索引和数据类型,这应该可以满足您的需求

    >>> df=pd.read_csv("test.txt", engine="python", sep=r":?\s+", index_col=0,
    ... names=["field", "value", "unit"],
    ... dtype={"field":str, "value":int, "unit":str})
    >>> 
    >>> df
                           value  unit
    field                             
    MemFree             11988456    kB
    Buffers                47456    kB
    Cached               2304036    kB
    SwapCached               772    kB
    Active               3625348    kB
    Inactive              397832    kB
    HighTotal                  0    kB
    HighFree                   0    kB
    LowTotal            16306056    kB
    LowFree             11988456    kB
    SwapTotal            8191992    kB
    SwapFree             8122928    kB
    Dirty                  50552    kB
    Writeback                  0    kB
    AnonPages            1434016    kB
    Mapped               2065024    kB
    Slab                  123484    kB
    PageTables            121432    kB
    NFS_Unstable               0    kB
    Bounce                     0    kB
    CommitLimit         16345020    kB
    Committed_AS         5883888    kB
    VmallocTotal     34359738367    kB
    VmallocUsed           267500    kB
    VmallocChunk     34359470295    kB
    HugePages_Total            0  None
    HugePages_Free             0  None
    HugePages_Rsvd             0  None
    Hugepagesize            2048    kB
    >>> 
    

    【讨论】:

    • 完美运行,非常感谢后面的代码,名为“字段”的列返回错误:KeyError: 'field' During handling of the above exception, another exception occurred.我正在尝试绘制饼图,似乎找不到具有该名称的列
    • @jorgeoxi - 如果您删除 index_col=0,则该字段不再是一个索引,这可能使其成为您的常规列。
    猜你喜欢
    • 1970-01-01
    • 2018-05-03
    • 1970-01-01
    • 2019-04-02
    • 2016-07-03
    • 1970-01-01
    • 2014-07-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多