使用Python Pandas删除CSV文件中Unix Timestamp前的未命名列
解决方案
你遇到的问题是CSV读取时首列空列被pandas自动命名为Unnamed: 0,且写入时默认携带行索引导致空列反复出现,以下是可直接运行的正确代码:
import pandas as pd # 读取时直接指定首列为索引,自动跳过多余空列 data = pd.read_csv('data.csv', index_col=0) # 保存时关闭索引写入,避免生成新的空列 data.to_csv('data.csv', index=False)
原有参考代码的错误说明
- 导入语句拼写错误:
import pandas ads pd需修改为import pandas as pd drop()方法使用不符合要求:默认按行删除目标,空列被pandas自动命名为Unnamed: 0,直接传入空字符串无法匹配到目标列- 导出CSV未关闭索引写入:
to_csv()默认会将行索引作为新的第一列写入,会重新生成你要删除的空列
兼容拓展写法
如果希望适配Unix Timestamp前有任意多列多余列的场景,可使用以下更灵活的写法:
import pandas as pd data = pd.read_csv('data.csv') # 定位Unix Timestamp列的位置,仅保留该列及之后的所有内容 ts_col_position = data.columns.get_loc('Unix Timestamp') data = data.iloc[:, ts_col_position:] data.to_csv('data.csv', index=False)
内容的提问来源于stack exchange,提问作者georgehere
相关产品推荐
相关产品推荐

