我在csv文件中有两个同名列,其中一个是空列

2024-03-29 02:26:23 发布

您现在位置:Python中文网/ 问答频道 /正文

这影响了我的剧本。当我尝试运行代码时,空列会导致错误。此外,具有空值的列在脚本执行期间会不断更改其名称。 例如,我有两列,名称为A,如下所示:

A   A   B
1       0.5
2       0.2
3       0.6
4       0.4

这就是数据的存储方式。但是当我使用pandas将其转换为数据帧时 df=pd.read\u csv(f) 该列将更改

A.1   B
0.0   0.5
0.0   0.2
0.0   0.6
0.0   0.4

每次我运行代码时都会发生这种情况。有没有办法阻止这一切?这几乎发生在我所有的csv文件中。我只想识别空列并将其删除


1条回答
网友
1楼 · 发布于 2024-03-29 02:26:23

读取csv文件时,您可以手动解析标题并设置列名:

with open('data2.csv') as fp:
    header = fp.readline().split()
    cols = [c for i, c in enumerate(header[1:]) if c != header[i-1]]
    df = pd.read_csv(fp, header=None, names=cols, sep='\s+', engine='python')

相关问题 更多 >