我正在阅读.csv文件并应用标题,这是我所需列名的列表。
header = ['col1','col2','col3','','',]
如果.csv文件中的列数多于"标题"列表然后列名称自动右对齐,以便第一列或左列标题为空。将标题应用于DataFrame时,还有什么办法可以左对齐吗?现在我正在做的是填充"标题"最后列出空白列作为解决方法,如下所示:
map.showTileBoundaries = true
答案 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