繁体   English   中英

在Python中从CSV删除列

[英]Deleting Columns from a CSV in Python

我知道有人问过类似的问题,但是找不到与我遇到的错误有关的任何问题(尽管我很抱歉,如果我错过了什么!)。 我试图从CSV中删除一些不会在Excel中加载的列,因此我不能只在文件中删除它们。 我有以下代码:

import os
import pandas as pd
os.chdir(r"C:\Users\maria\Desktop\Project\North American Breeding Bird Survey")
data = pd.read_csv("NABBSStateData.csv")
data.drop(["CountryNum", "Route", "RPID"], axis = 1, inplace = True)

但是当我运行它时,出现以下错误消息:

c:\program files (x86)\microsoft visual studio\2019\professional\common7\ide\extensions\microsoft\python\core\Packages\ptvsd\_vendored\pydevd\pydevd.py:1664: DtypeWarning: Columns (0,1,2,3,4,5,6,7,8,9,10,11,12,13) have mixed types. Specify dtype option on import or set low_memory=False.
  return self._exec(is_module, entry_point_fn, module_name, file, globals, locals)

我是python / visual studio的新手,我很难弄清楚此错误消息在说什么以及如何解决。 谢谢!!

编辑:有问题的CSV是来自站点的状态文件串联在一起,因此您可以打开一个状态文件以查看列/数据类型。

看起来您的某些列中混合了数据类型(例如,列0、1、2、3、4、5、6、7、8、9、10、11、12、13)。 混合数据类型意味着在一列(例如列“ a”)中,大多数行是数字,但某些行中也可能包含字符串。

尝试使用dtype选项从pd.read_csv指定列类型。 如果不确定类型,请使用objectstr 这是一个例子:

df = pd.read_csv('D:\\foo.csv', header=0, dtype={'currency':str, 'v1':object, 'v2':object})

使用read_csv的链接

这是您可以指定的所有类型的列表

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM