前言

上午在用pandas处理csv文件时,遇到一个很抓马的情况:当把dataframe对象保存到新的csv文件中时,对于列名为空的列,会自动添加列名“unnamed: N”,而我所期望的是列名为空的列仍保持为空。

由于平时pandas用的不多,我也并不熟悉,故而将我遇到的问题描述给了一位名叫kimi的小伙伴,不知道他是不是在给我开玩笑,他一言我一语,长达四十五分钟的时间都没有解决我的这个问题。我很失望,旋即决定割袍断义,下定了决心,转身就走。

在csdn输入了我的问题,一分钟解决了。

避免自动生成列名

只需要在调用to_csv方法时,将header参数设置为false

import os
import pandas as pd
​
copyPath = r""
dataPath = "./data"
​
if not os.path.exists(dataPath):
    os.makedirs(dataPath)
    print("Directory " , dataPath , " Created ")
else:
    print("Directory " , dataPath , " already exists")
​
pastePath = os.path.join(dataPath, "X_tr_pd.csv")
​
​
copyFile = pd.read_csv(copy1Path, header=None)
pasteFile = copyFile.head(7)
# index解决索引,header解决自动添加列名
pasteFile.to_csv(paste1Path, index = False, header=False)
​
# read_csv 和 to_csv 会自动管理文件的打开和关闭
print("done")

反思

对于大概率是常见的问题(尤其是debug),直接搜是要比寻求大模型帮助更有效的方法

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐