我正在创建一个脚本来接收纯文本并将其转换为 csv,以便稍后导入 Anki。我正在尝试使用 pandas.read_clipboard() 来尝试跳过使用 txt 文件。 如果我的数据的第一行只有一列(没有附加答案)和它后面的行,则该函数会中断。
不工作
foo
foo-bar
工作
foo-bar
foo
我预计会收到
0 1
0 foo None
1 foo bar
反而抛出错误
pandas.errors.ParserError: Expected 1 fields in line 2, saw 2
当我写这篇文章时,我现在意识到该函数将其读取为 csv,并期望从一开始就有固定数量的列。
我可以绕过这个还是这些是这个功能的限制?
代码
r1 = pandas.read_clipboard(header=None, sep='-', engine="python", on_bad_lines='warn')
print(r1)
由于您的数据没有标题,pandas 必须猜测列数,并通过查看第一行来做到这一点。但是你可以通过
names
参数提前告诉 pandas 这些列是什么。没有必要猜测和弄错。
>>> r1 = pandas.read_clipboard(header=None, sep='-', engine="python", on_bad_lines='warn',
... names=[0,1])
>>> print(r1)
0 1
0 foo None
1 foo bar