Python使用pandas读写剪贴板数据详解
本文介绍如何利用Python的pandas库实现剪贴板数据的读取与写入。通过read_clipboard函数可快速将复制的表格数据转换为DataFrame,支持自定义分隔符与表头处理;利用to_clipboard方法可将DataFrame对象保存至系统剪贴板,便于粘贴至Excel或其他应用。
读取剪贴板上的数据
首先介绍pandas.read_clipboard函数,该函数用于从系统剪贴板读取文本数据,并将其转换为DataFrame对象传递给Read_csv进行后续处理。
pandas.read_clipboard(sep='\\s+', **kwargs)在该函数中,sep参数用于指定字段定界符,其默认值为'\s+',这意味着函数会将Tab键和多个连续空格均视为相同的分隔符。
接下来演示具体操作流程:首先打开目标表格,选中所需数据并按Ctrl+C进行复制,随后执行以下代码。
import pandas as pd
df = pd.read_clipboard() #读取剪切板中的数据
df
读者可以复制下方的表格数据尝试操作:
| uid | aoto | start | end |
|---|---|---|---|
| 0 | A | 1 | 2 |
| 1 | A | 4 | 7 |
| 2 | A | 3 | 6 |
当数据中的分隔符为逗号“,”时,只需添加sep=','参数即可正确解析。
aoto,start,end A,1,2 A,4,7 A,3,6
# 读取剪贴板中的数据
import pandas as pd
df = pd.read_clipboard(sep=',') #读取剪切板中的数据
df
此外,若读取的剪贴板数据不包含列索引,可增加header=None参数告知函数,此时导入的数据结构如下。

将数据写入剪贴板
先查看官方文档简介。
pandas.DataFrame.to_clipboard(self, excel: bool = True, sep: Union[str, NoneType] = None, **kwargs) -> None其中涉及的关键参数说明如下。
excel参数默认为,表示以csv格式生成输出,从而方便用户直接粘贴到Excel中。
1、True:若设置为csv格式,请使用提供的分隔符进行粘贴操作。
2、False:若设置为False,则将对象的字符串表示形式写入剪贴板。
sep参数类型为str,默认值为'\t'字段定界符。
\kwargs这些额外参数将传递给DataFrame.to_csv方法。
具体示例如下。
先生成一个DataFrame数据,再执行df.to_clipboard()方法,这样数据即可复制到系统剪贴板中,用户可以将其粘贴到任意位置。
import pandas as pd
dic1={'name':['小花','狗蛋','二狗','小草'],
'age':[17,20,30,20],
'gender':['女','男','男','女']}
df=pd.DataFrame(dic1)
df
# 复制到剪贴板
pd.DataFrame.to_clipboard(df)补充:python 剪切板写入文件,产生随机数写入剪切板
# -*- coding: utf-8 -*-
import pyperclip
import random
import time
def random_num():
'''
产生一个6位的随机数(可以是六个0)写入剪切板
防错.txt里面的内容长度如果超过(2万字符)就清理一半
'''
uu=1 #1代表开启防错机制将剪切板内容写入文件
u2=r'D:\Program Files\Notepad++\防错.txt' #写在这里
s=''
for i in range(6):
a=random.randrange(10)
time.sleep(0.013)
s+=str(a)
data = pyperclip.paste()
pyperclip.copy(s)
if uu ==1:
f= open(u2,"r+",encoding='utf-8',errors='ignore')
rd=f.read()
print(len(rd))
if len(rd)>20000:
rd=rd[-10000:]+'\n'+data
f.close()
time.sleep(0.1)
f= open(u2,"w",encoding='utf-8',errors='ignore')
f.write(rd)
time.sleep(0.1)
f.close()
else:
#print(f.tell()) #查看文件指针位置
f.write('\n'+data)
time.sleep(0.013)
f.close()
def main():
random_num()
if __name__=='__main__':
main()总结
到此这篇关于如何利用python在剪贴板上读取/写入数据的文章就介绍到这了,更多相关python剪贴板读取写入数据内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













