有效地将列标题分配给 csv 文件



我正在询问如何使用逗号分隔符有效地将列标题分配给CSV文件。目前,一旦我知道有多少列,我就会手动分配标题。问题是,列数因文件而异。

所以下面的第一Dataframe有 3 列。我通过以下内容分配。

import pandas as pd
d = ({
'Col 1' : ['X','Y'],  
'Col 2' : ['A','B'], 
'Col 3' : ['C','D'],        
})
df = pd.DataFrame(data=d)
df.columns = ['A','B','C']

如果我有以下 df 并且我使用相同的代码,它将返回错误。

错误:长度不匹配:预期轴有 2 个元素,新值有 3 个元素

d = ({
'Col 1' : ['X','Y'],  
'Col 2' : ['A','B'],    
})
df = pd.DataFrame(data=d)
df.columns = ['A','B','C']

我知道这是因为只有 2 列。我问的是有效地分配标题A-n.

我知道将df.columns更改为['A','B']并不难,但是如果我每天多次这样做,它会变得非常低效。

使用列表推导string内置模块和字典d的长度:

df.columns = ([x for x in string.ascii_uppercase if ord(x) < ord("A") + len(d)])

因为string.ascii_uppercase'ABCDEFGHIJKLMNOPQRSTUVWXYZ'字符串。

如果需要超过 26 个列标题,您也可以使用string.ascii_letters或类似的 constans。

最新更新