熊猫无法使用 read_clipboard 正确读取 NaN 单元格

时间:2021-06-08 17:50:13

标签: python pandas

read_clipboard 的 Pandas https://dbfiddle.uk/?rdbms=mysql_8.0&fiddle=aca780246b24ec4cce8d9978c1113d26 说“从剪贴板读取文本并传递给 read_csv”,但在我下面的示例中,我得到具有 read_clipboardread_csv 的不同结果数据帧。我怎样才能让 read_clipboardread_csv 一样像 NaN 那样正确读取此处的空白单元格?

import numpy as np
import pandas as pd
from io import StringIO
import clipboard

f = StringIO()

df = pd.DataFrame({"my_column": [np.nan, np.nan]})
df.to_csv(f, index=False)
f.seek(0)

df1 = pd.read_csv(f)
f.seek(0)

text = f.read()
f.seek(0)
clipboard.copy(text)
df2 = pd.read_clipboard()

print(repr(text))
# > 'my_column\r\n""\r\n""\r\n'

print(df1)
# >    my_column
# > 0        NaN
# > 1        NaN


print(df2)
# >   my_column
# > 0        ""
# > 1        ""

1 个答案:

答案 0 :(得分:1)

to_clipboard 的第一个参数是 excel,它的目的是让您将输出粘贴到 Excel 单元格中,因此对于缺失的数据,使用空字符串而不是 NaN。它默认为 True,我们可以更改它:

>>> df.to_clipboard(excel=False, index=False)
>>> pd.read_clipboard()

    a
0 NaN
1 NaN