Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python根据列数据预测列标题_Python_Pandas_Dataframe - Fatal编程技术网

Python根据列数据预测列标题

Python根据列数据预测列标题,python,pandas,dataframe,Python,Pandas,Dataframe,我有很多CSV文件,包括不同的列名,但数据相似,例如: 其中,account和lookup是相同的字段,name和accountname是相同的字段,依此类推。是否有一种方法可以将所有这些规范化或分类为一个通用的列名?我无法将其映射到散列,因为列名从来都不相似,每次有新文件时,列名都不同,并且它们在表中的显示顺序也不同 您可以尝试以下方法: 使用dictreader解析csv数据 行列表=[] 打开(文件路径)为f时: cf=csv.DictReader(f,分隔符=,字段名=[]) 对于

我有很多CSV文件,包括不同的列名,但数据相似,例如:




其中,
account
lookup
是相同的字段,
name
accountname
是相同的字段,依此类推。是否有一种方法可以将所有这些规范化或分类为一个通用的列名?我无法将其映射到散列,因为列名从来都不相似,每次有新文件时,列名都不同,并且它们在表中的显示顺序也不同

您可以尝试以下方法:

  • 使用dictreader解析csv数据
    
    行列表=[]
    打开(文件路径)为f时:
    cf=csv.DictReader(f,分隔符=,字段名=[])
    对于cf中的行:
    tmp_行=collections.OrderedDict()
    对于cf.fieldnames中的列:
    tmp_行[列]=行[列]
    行列表。追加(tmp行)
    返回行列表
    

  • 然后使用dictwriter将该对象
    行列表
    转储到csv文件中。

    对于每个文件,列索引是否相同?能否显示预期结果您针对列名提供的数据,它们的格式是否相同,我的意思是,如果匹配,您可能会得到解决方案,示例数据是否准确?@anky\u 91是,格式相同。我只需要一种方法将列名更改为公共名称。如果列名至少有一些特定的单词name、address共同,您可以尝试使用regex将其分离为单独的@kaundanya5
    account  name    address
       1      2         3     
       4      5         6     
    
    lookup  accountname accountaddress
       7      8         9     
       10     11       12