From d581143a25d0dff1bd05a04fec223de03acde750 Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Wed, 10 May 2023 09:48:17 +0000 Subject: automatic import of python-datarecorder --- .gitignore | 1 + python-datarecorder.spec | 409 +++++++++++++++++++++++++++++++++++++++++++++++ sources | 1 + 3 files changed, 411 insertions(+) create mode 100644 python-datarecorder.spec create mode 100644 sources diff --git a/.gitignore b/.gitignore index e69de29..53f474d 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/DataRecorder-3.3.2.tar.gz diff --git a/python-datarecorder.spec b/python-datarecorder.spec new file mode 100644 index 0000000..ef35275 --- /dev/null +++ b/python-datarecorder.spec @@ -0,0 +1,409 @@ +%global _empty_manifest_terminate_build 0 +Name: python-DataRecorder +Version: 3.3.2 +Release: 1 +Summary: 用于记录数据的模块。 +License: MIT +URL: https://gitee.com/g1879/DataRecorder +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/92/71/ab5e864abacbdf7fe9c06afb31809a4878899d57ec7d92184a2c5d0cf456/DataRecorder-3.3.2.tar.gz +BuildArch: noarch + +Requires: python3-openpyxl + +%description +# ⭐️简介 + +本库是一个基于 python 的工具集,用于记录数据到文件(含 sqlite)。 + +使用方便,代码简洁, 是一个可靠、省心且实用的工具。 + +还支持多线程同时写入文件。 + +**交流QQ群:** 897838127 + +**联系邮箱:** g1879@qq.com + +**使用手册:** 📒[点击打开](http://g1879.gitee.io/datarecorder) + +# ✨️理念 + +简单,可靠,省心。 + +# 📕背景 + +进行数据采集的时候,常常要保存数据到文件,频繁开关文件会影响效率,而如果等采集结束再写入,会有因异常而丢失数据的风险。 + +因此写了这些工具,只要把数据扔进去,它们能缓存到一定数量再一次写入,减少文件开关次数,而且在程序崩溃或退出时能自动保存,保证数据的可靠。 + +它们使用非常方便,无论何时何地,无论什么格式,只要使用`add_data()`方法把数据存进去即可,语法极其简明扼要,使程序员能更专注业务逻辑。 + +它们还相当可靠,作者曾一次过连续记录超过 300 万条数据,也曾 50 个线程同时运行写入数万条数据到一个文件,依然轻松胜任。 + +工具还对表格文件(xlsx、csv)做了很多优化,封装了实用功能,可以使用表格文件方便地实现断点续爬、批量转移数据、指定坐标填写数据等。 + +# 🍀特性 + +- 可以缓存数据到一定数量再一次写入,减少文件读写次数,降低开销。 +- 支持多线程同时写入数据。 +- 可以在程序崩溃时自动保存,失败时显示剩余数据。 +- 写入时如文件打开,会自动等待文件关闭再写入,避免数据丢失。 +- 对断点续爬提供良好支持。 +- 可方便地批量转移数据。 +- 可根据字典数据自动创建表头。 +- 自动创建文件和路径,减少代码量。 + +# 🎇概览 + +这里简要介绍各种工具用途,详细用法请查看使用方法章节。 + +## ⚡记录器`Recorder` + +`Recorder`是最常用的工具,它的功能简单直观高效实用,只做一个动作,就是不断接收数据,按顺序往文件里添加。可以接收单行数据,或二维数据一次写入多行。 + +它主要支持 csv、xlsx、json、txt 四种格式文件,当目标文件不是这 4 种之一时,按 txt 的方式记录。 + +```python +from DataRecorder import Recorder + +data = ((1, 2, 3, 4), + (5, 6, 7, 8)) + +r = Recorder('data.csv') +r.add_data(data) # 一次记录多行数据 +r.add_data('abc') # 记录单行数据 +``` + +## ⚡表格填充器`Filler` + +`Filler`用于对表格文件填写数据,可以指定填其坐标。它的使用非常灵活,可以指定坐标为左上角,填入一片二维数据。还封装了记录数据处理进度的功能(比如断点续爬)。除此以外,它还能给单元格设置链接。 + +它只支持 csv 和 xlsx 格式文件。 + +```python +from DataRecorder import Filler + +f = Filler('results.csv') +f.add_data((1, 2, 3, 4), 'a2') # 从A2单元格开始,写入一行数据 +f.add_data(((1, 2), (3, 4)), 'd4') # 以D4单元格为左上角,写入一片二维数据 +``` + +## ⚡二进制数据记录器`ByteRecorder` + +`ByteRecorder`用法最简单,它和`Recorder`类似,记录多个数据然后按顺序写入文件。不一样的是它只接收二进制数据,每次`add_data()`只能输入一条数据,而且没有行的概念。 + +可以用来和作者的另一个工具 [FlowViewer](https://gitee.com/g1879/FlowViewer) 配合使用,用来获取浏览器加载的文件,或用来记录下载的文件。可指定每个数据写入文件中的位置,以支持多线程下载文件。 + +支持任意文件格式。 + +```python +from DataRecorder import ByteRecorder + +b = ByteRecorder('data.file') +b.add_data(b'xxxxxxxxxxx') # 向文件写入二进制数据 +``` + +## ⚡数据库记录器`DBRecorder`(测试) + +3.1 版增加的功能,目前只支持 sqlite,用法和`Recorder`一致,支持自动创建数据库、数据表、数据列。 + +```python +from DataRecorder import DBRecorder + +d = DBRecorder('data.db') +d.add_data({'name': '张三', 'age': 25}, table='user') # 插入数据到user表 +d.record() +``` + +# 🛠使用方法 + +[📒点击跳转到使用手册](http://g1879.gitee.io/datarecorder) + +# ☕ 请我喝咖啡 + +如果本项目对您有所帮助,不妨请作者我喝杯咖啡 :) + +![](https://gitee.com/g1879/DrissionPage-demos/raw/master/pics/code.jpg) + + +%package -n python3-DataRecorder +Summary: 用于记录数据的模块。 +Provides: python-DataRecorder +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-DataRecorder +# ⭐️简介 + +本库是一个基于 python 的工具集,用于记录数据到文件(含 sqlite)。 + +使用方便,代码简洁, 是一个可靠、省心且实用的工具。 + +还支持多线程同时写入文件。 + +**交流QQ群:** 897838127 + +**联系邮箱:** g1879@qq.com + +**使用手册:** 📒[点击打开](http://g1879.gitee.io/datarecorder) + +# ✨️理念 + +简单,可靠,省心。 + +# 📕背景 + +进行数据采集的时候,常常要保存数据到文件,频繁开关文件会影响效率,而如果等采集结束再写入,会有因异常而丢失数据的风险。 + +因此写了这些工具,只要把数据扔进去,它们能缓存到一定数量再一次写入,减少文件开关次数,而且在程序崩溃或退出时能自动保存,保证数据的可靠。 + +它们使用非常方便,无论何时何地,无论什么格式,只要使用`add_data()`方法把数据存进去即可,语法极其简明扼要,使程序员能更专注业务逻辑。 + +它们还相当可靠,作者曾一次过连续记录超过 300 万条数据,也曾 50 个线程同时运行写入数万条数据到一个文件,依然轻松胜任。 + +工具还对表格文件(xlsx、csv)做了很多优化,封装了实用功能,可以使用表格文件方便地实现断点续爬、批量转移数据、指定坐标填写数据等。 + +# 🍀特性 + +- 可以缓存数据到一定数量再一次写入,减少文件读写次数,降低开销。 +- 支持多线程同时写入数据。 +- 可以在程序崩溃时自动保存,失败时显示剩余数据。 +- 写入时如文件打开,会自动等待文件关闭再写入,避免数据丢失。 +- 对断点续爬提供良好支持。 +- 可方便地批量转移数据。 +- 可根据字典数据自动创建表头。 +- 自动创建文件和路径,减少代码量。 + +# 🎇概览 + +这里简要介绍各种工具用途,详细用法请查看使用方法章节。 + +## ⚡记录器`Recorder` + +`Recorder`是最常用的工具,它的功能简单直观高效实用,只做一个动作,就是不断接收数据,按顺序往文件里添加。可以接收单行数据,或二维数据一次写入多行。 + +它主要支持 csv、xlsx、json、txt 四种格式文件,当目标文件不是这 4 种之一时,按 txt 的方式记录。 + +```python +from DataRecorder import Recorder + +data = ((1, 2, 3, 4), + (5, 6, 7, 8)) + +r = Recorder('data.csv') +r.add_data(data) # 一次记录多行数据 +r.add_data('abc') # 记录单行数据 +``` + +## ⚡表格填充器`Filler` + +`Filler`用于对表格文件填写数据,可以指定填其坐标。它的使用非常灵活,可以指定坐标为左上角,填入一片二维数据。还封装了记录数据处理进度的功能(比如断点续爬)。除此以外,它还能给单元格设置链接。 + +它只支持 csv 和 xlsx 格式文件。 + +```python +from DataRecorder import Filler + +f = Filler('results.csv') +f.add_data((1, 2, 3, 4), 'a2') # 从A2单元格开始,写入一行数据 +f.add_data(((1, 2), (3, 4)), 'd4') # 以D4单元格为左上角,写入一片二维数据 +``` + +## ⚡二进制数据记录器`ByteRecorder` + +`ByteRecorder`用法最简单,它和`Recorder`类似,记录多个数据然后按顺序写入文件。不一样的是它只接收二进制数据,每次`add_data()`只能输入一条数据,而且没有行的概念。 + +可以用来和作者的另一个工具 [FlowViewer](https://gitee.com/g1879/FlowViewer) 配合使用,用来获取浏览器加载的文件,或用来记录下载的文件。可指定每个数据写入文件中的位置,以支持多线程下载文件。 + +支持任意文件格式。 + +```python +from DataRecorder import ByteRecorder + +b = ByteRecorder('data.file') +b.add_data(b'xxxxxxxxxxx') # 向文件写入二进制数据 +``` + +## ⚡数据库记录器`DBRecorder`(测试) + +3.1 版增加的功能,目前只支持 sqlite,用法和`Recorder`一致,支持自动创建数据库、数据表、数据列。 + +```python +from DataRecorder import DBRecorder + +d = DBRecorder('data.db') +d.add_data({'name': '张三', 'age': 25}, table='user') # 插入数据到user表 +d.record() +``` + +# 🛠使用方法 + +[📒点击跳转到使用手册](http://g1879.gitee.io/datarecorder) + +# ☕ 请我喝咖啡 + +如果本项目对您有所帮助,不妨请作者我喝杯咖啡 :) + +![](https://gitee.com/g1879/DrissionPage-demos/raw/master/pics/code.jpg) + + +%package help +Summary: Development documents and examples for DataRecorder +Provides: python3-DataRecorder-doc +%description help +# ⭐️简介 + +本库是一个基于 python 的工具集,用于记录数据到文件(含 sqlite)。 + +使用方便,代码简洁, 是一个可靠、省心且实用的工具。 + +还支持多线程同时写入文件。 + +**交流QQ群:** 897838127 + +**联系邮箱:** g1879@qq.com + +**使用手册:** 📒[点击打开](http://g1879.gitee.io/datarecorder) + +# ✨️理念 + +简单,可靠,省心。 + +# 📕背景 + +进行数据采集的时候,常常要保存数据到文件,频繁开关文件会影响效率,而如果等采集结束再写入,会有因异常而丢失数据的风险。 + +因此写了这些工具,只要把数据扔进去,它们能缓存到一定数量再一次写入,减少文件开关次数,而且在程序崩溃或退出时能自动保存,保证数据的可靠。 + +它们使用非常方便,无论何时何地,无论什么格式,只要使用`add_data()`方法把数据存进去即可,语法极其简明扼要,使程序员能更专注业务逻辑。 + +它们还相当可靠,作者曾一次过连续记录超过 300 万条数据,也曾 50 个线程同时运行写入数万条数据到一个文件,依然轻松胜任。 + +工具还对表格文件(xlsx、csv)做了很多优化,封装了实用功能,可以使用表格文件方便地实现断点续爬、批量转移数据、指定坐标填写数据等。 + +# 🍀特性 + +- 可以缓存数据到一定数量再一次写入,减少文件读写次数,降低开销。 +- 支持多线程同时写入数据。 +- 可以在程序崩溃时自动保存,失败时显示剩余数据。 +- 写入时如文件打开,会自动等待文件关闭再写入,避免数据丢失。 +- 对断点续爬提供良好支持。 +- 可方便地批量转移数据。 +- 可根据字典数据自动创建表头。 +- 自动创建文件和路径,减少代码量。 + +# 🎇概览 + +这里简要介绍各种工具用途,详细用法请查看使用方法章节。 + +## ⚡记录器`Recorder` + +`Recorder`是最常用的工具,它的功能简单直观高效实用,只做一个动作,就是不断接收数据,按顺序往文件里添加。可以接收单行数据,或二维数据一次写入多行。 + +它主要支持 csv、xlsx、json、txt 四种格式文件,当目标文件不是这 4 种之一时,按 txt 的方式记录。 + +```python +from DataRecorder import Recorder + +data = ((1, 2, 3, 4), + (5, 6, 7, 8)) + +r = Recorder('data.csv') +r.add_data(data) # 一次记录多行数据 +r.add_data('abc') # 记录单行数据 +``` + +## ⚡表格填充器`Filler` + +`Filler`用于对表格文件填写数据,可以指定填其坐标。它的使用非常灵活,可以指定坐标为左上角,填入一片二维数据。还封装了记录数据处理进度的功能(比如断点续爬)。除此以外,它还能给单元格设置链接。 + +它只支持 csv 和 xlsx 格式文件。 + +```python +from DataRecorder import Filler + +f = Filler('results.csv') +f.add_data((1, 2, 3, 4), 'a2') # 从A2单元格开始,写入一行数据 +f.add_data(((1, 2), (3, 4)), 'd4') # 以D4单元格为左上角,写入一片二维数据 +``` + +## ⚡二进制数据记录器`ByteRecorder` + +`ByteRecorder`用法最简单,它和`Recorder`类似,记录多个数据然后按顺序写入文件。不一样的是它只接收二进制数据,每次`add_data()`只能输入一条数据,而且没有行的概念。 + +可以用来和作者的另一个工具 [FlowViewer](https://gitee.com/g1879/FlowViewer) 配合使用,用来获取浏览器加载的文件,或用来记录下载的文件。可指定每个数据写入文件中的位置,以支持多线程下载文件。 + +支持任意文件格式。 + +```python +from DataRecorder import ByteRecorder + +b = ByteRecorder('data.file') +b.add_data(b'xxxxxxxxxxx') # 向文件写入二进制数据 +``` + +## ⚡数据库记录器`DBRecorder`(测试) + +3.1 版增加的功能,目前只支持 sqlite,用法和`Recorder`一致,支持自动创建数据库、数据表、数据列。 + +```python +from DataRecorder import DBRecorder + +d = DBRecorder('data.db') +d.add_data({'name': '张三', 'age': 25}, table='user') # 插入数据到user表 +d.record() +``` + +# 🛠使用方法 + +[📒点击跳转到使用手册](http://g1879.gitee.io/datarecorder) + +# ☕ 请我喝咖啡 + +如果本项目对您有所帮助,不妨请作者我喝杯咖啡 :) + +![](https://gitee.com/g1879/DrissionPage-demos/raw/master/pics/code.jpg) + + +%prep +%autosetup -n DataRecorder-3.3.2 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-DataRecorder -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed May 10 2023 Python_Bot - 3.3.2-1 +- Package Spec generated diff --git a/sources b/sources new file mode 100644 index 0000000..92d0fab --- /dev/null +++ b/sources @@ -0,0 +1 @@ +396b699defb1cf7aa4f6921d9951f1b0 DataRecorder-3.3.2.tar.gz -- cgit v1.2.3