python - 如何在熊猫中指定确切的列数
问题描述
我有一个没有标题的文本文件可供阅读。我指定了参数
header=None
这可以。
我正在使用以下语句来读取文件
pd.read_csv(fname, '\t', header=None, quotechar=None, quoting=3)
所以,我正在使用制表符分隔符。
以下是示例文件
a b c
a b c
a b c
上面的文件读得很好。但有些文件看起来如下
a
a b c
a b c
a b c
对于这个文件,错误如下
pandas.errors.ParserError: Error tokenizing data. C error: Expected 1 fields in line 3, saw 3
这个问题不能通过跳过第一行来解决,因为我们不确定第二个喜欢的格式是否正确。主要的是如何指定所需的列数。
我知道我们可以填写不可用的值。
但是,如果我们只跳过第一行,我怎么能指定 csv 阅读器中的列数,使其不会与第一行中的错误混淆,也许第二行也是有问题的。
谢谢
干杯
解决方案
names 参数成功了:
df = pd.read_csv(fname, '\t', header=None, names=['A', 'B', 'C'])
回报:
A B C
0 a NaN NaN
1 a b c
2 a b c
3 a b c
推荐阅读
- html - IE下拉菜单自动打开
- angular - 无法使用 MatSort 对 mat-table 进行排序
- java - 我的 selenium 中打开了两个 Firefox 浏览器窗口
- discord.py - 如何在 Discord.py 中为网站制作项目通知器?
- docker - 如何将 Kubernetes configmap 复制到 pod 的可写区域?
- enums - 创建两个具有相同 0 值的枚举
- c# - 如何与非树莓设备的 Windows(Win 10)上的 GPIO 通信?
- python - 如何使用 Python 在文本中查找公司名称
- javascript - 如何在javascript中正确定义变量并添加分号
- python - 在这个用例中可以使用 Python 列表推导吗?