使用pandas读取CSV文件时左对齐标题

时间:2017-10-03 23:02:57

标签: python pandas csv

我正在阅读.csv文件并应用标题,这是我所需列名的列表。

header = ['col1','col2','col3','','',]

如果.csv文件中的列数多于"标题"列表然后列名称自动右对齐,以便第一列或左列标题为空。将标题应用于DataFrame时,还有什么办法可以左对齐吗?现在我正在做的是填充"标题"最后列出空白列作为解决方法,如下所示:

map.showTileBoundaries = true

2 个答案:

答案 0 :(得分:2)

我不相信熊猫支持这个功能。但是,我认为一个好的解决方法是:

header = ['col1', 'col2', 'col3']

df = pd.read_csv(myfile)
df.columns = header + [''] * (len(df.columns) - len(header))

这样,您就无需对填充进行硬编码。

答案 1 :(得分:2)

您可以使用以指定列开头的生成器,然后继续为无穷大生成''。使用此选项重命名列。

考虑csv中的文字以及随后的阅读内容

import pandas as pd
from itertools import chain, repeat

csv = """a1,b1,c1,d1
a2,b2,c2,d2"""

pd.read_csv(pd.io.common.StringIO(csv), header=None).rename(
    columns=lambda x, c=chain(['a', 'b'], repeat('')): next(c)
)

    a   b        
0  a1  b1  c1  d1
1  a2  b2  c2  d2