小编kab*_*ame的帖子

使用ReportLab批量生成条形码

昨天,我问了一个可能过于宽泛的问题.

今天,我已经采取行动,努力实施解决方案.

使用ReportLab,pdfqueryPyPDF2,我正在尝试自动化在PDF文档中的数百页上生成条形码的过程.

每个页面都需要一个条形码.但是,如果页面右上角有一个字母('A'到'E'),那么它需要使用与上一页相同的条形码.右上角带有字母的文件是具有类似信息的重复表单.

如果没有字母存在,则应在该页面上使用唯一的条形码编号(加1加罚款).

我的代码似乎有用,但我有两个问题:

  1. 条形码移动得如此轻微(小问题).
  2. 条形码值不会改变(主要问题).仅在所有页面上设置第一个条形码编号.

我似乎无法分辨为什么价值不会改变.有没有人有线索?

代码在这里:

import pdfquery
import os
from io import BytesIO
from PyPDF2 import PdfFileWriter, PdfFileReader
from reportlab.graphics.barcode import eanbc
from reportlab.graphics.shapes import Drawing 
from reportlab.lib.pagesizes import letter
from reportlab.lib.units import mm
from reportlab.pdfgen import canvas
from reportlab.graphics import renderPDF

pdf = pdfquery.PDFQuery("letters-test.pdf")

total_pages = pdf.doc.catalog['Pages'].resolve()['Count']
print("Total pages", total_pages)

barcode_value = 12345670

output = PdfFileWriter()

for i in range(0, total_pages):
    pdf.load(i) # Load page i into memory …
Run Code Online (Sandbox Code Playgroud)

python pdf reportlab python-3.x

7
推荐指数
1
解决办法
302
查看次数

将数据帧中的(拆分)范围拆分为多行

此问题类似于拆分(爆炸)pandas数据帧字符串条目到单独的行,但包括有关添加范围的问题.

我有一个DataFrame:

+------+---------+----------------+
| Name | Options | Email          |
+------+---------+----------------+
| Bob  | 1,2,4-6 | bob@email.com  |
+------+---------+----------------+
| John |   NaN   | john@email.com |
+------+---------+----------------+
| Mary |   1,2   | mary@email.com |
+------+---------+----------------+
| Jane | 1,3-5   | jane@email.com |
+------+---------+----------------+
Run Code Online (Sandbox Code Playgroud)

我希望Options用逗号分隔列以及为范围添加的行.

+------+---------+----------------+
| Name | Options | Email          |
+------+---------+----------------+
| Bob  | 1       | bob@email.com  |
+------+---------+----------------+
| Bob  | 2       | bob@email.com  |
+------+---------+----------------+
| Bob  | 4       | bob@email.com  | …
Run Code Online (Sandbox Code Playgroud)

python numpy dataframe pandas

6
推荐指数
3
解决办法
694
查看次数

执行合并时防止行重复

我正在与一个正在进行的数据分析项目碰壁。

本质上,如果我有示例CSV'A':

id   | item_num
A123 |     1
A123 |     2
B456 |     1
Run Code Online (Sandbox Code Playgroud)

我有示例CSV'B':

id   | description
A123 | Mary had a...
A123 | ...little lamb.
B456 | ...Its fleece...
Run Code Online (Sandbox Code Playgroud)

如果执行mergeusing Pandas,它将最终如下所示:

id   | item_num | description
A123 |     1    | Mary had a...
A123 |     2    | Mary had a...
A123 |     1    | ...little lamb.
A123 |     2    | ...little lamb.
B456 |     1    | Its fleece...
Run Code Online (Sandbox Code Playgroud)

我该如何使其变为:

id   | item_num | description
A123 …
Run Code Online (Sandbox Code Playgroud)

python csv python-2.7 python-3.x pandas

5
推荐指数
1
解决办法
93
查看次数

标签 统计

python ×3

pandas ×2

python-3.x ×2

csv ×1

dataframe ×1

numpy ×1

pdf ×1

python-2.7 ×1

reportlab ×1