Pandas.read_clipboard读取剪贴板CSV数据报错,read_csv可正常读取求助
解决Pandas read_clipboard()读取剪贴板CSV数据报错的问题
当然可以用read_clipboard()读取这类CSV数据!你遇到的问题几乎肯定是编码和参数设置不匹配导致的——毕竟你用read_csv(encoding='latin-1')能正常读取文件,说明数据本身没问题,只是剪贴板读取时的参数没跟上。
下面给你几个针对性的解决办法:
指定编码参数:直接把
read_csv里用的encoding='latin-1'加到read_clipboard里就行,因为剪贴板里的数据编码和源文件是一致的,而read_clipboard默认用系统编码,可能不兼容latin-1。试试这个:import pandas as pd df = pd.read_clipboard(encoding='latin-1')手动设置分隔符:有时候复制到剪贴板的CSV数据,分隔符可能不是默认的逗号(比如制表符、分号),这时候需要显式指定
sep参数。比如如果是逗号分隔:df = pd.read_clipboard(encoding='latin-1', sep=',')要是不确定分隔符,先打印剪贴板内容看看:
import pyperclip print(pyperclip.paste()) # 查看数据实际的分隔符,再调整sep的值处理换行符差异:不同系统的换行符可能不一样(Windows是
\r\n,Unix/Linux是\n),如果数据里换行符有问题,也会导致读取失败,可以试试指定lineterminator参数:df = pd.read_clipboard(encoding='latin-1', lineterminator='\r\n')
简单来说,read_clipboard本质上和read_csv逻辑类似,只是数据源是剪贴板而不是本地文件,所以只要把读取文件时用到的正确参数(比如编码、分隔符)同步过去,就能正常读取了。
内容的提问来源于stack exchange,提问作者Dance Party2
相关产品推荐
相关产品推荐

