我正在尝试制作一个程序,可以为数字化项目生成"自定义"条形码。
这是我的数据帧
import pandas as pd
B = {'Static': ['99LIB'],
'Number': [100000]}
df = pd.DataFrame(B)
print(df)
然后我要做的是创建一个新行,它仍然具有static='99LIB',但Number=100001(按顺序递增(。
然后我想打印最后一行,并将Static和Number连接在一起,只打印一个结果,看起来像99LIB100001。
每次运行时,我都希望它增加1。
我希望这样做,因为许多人将参与这个项目,我想防止重复的条形码输入我们的系统。
我是一个完全的初学者,所以我真的很感激你愿意提供的任何帮助。非常感谢。
此代码创建了一个可以调用的函数:
def new_barcode(df):
new_num = df.tail(1).Number.values[0] + 1
print(df.tail(1).Static.values + str(new_num))
return df.append({'Static': '99LIB',
'Number': new_num}, ignore_index=True)
考虑到你的要求,我想这将是解决你问题的最佳方式。如果您有问题或与您的预期输出不匹配,请告诉我。
编辑:
一旦你构建了你的项目,每当任何用户想要一个新的条形码时,他们都会运行我用这种格式编写的函数。
df = new_barcode(df)
这里,df
被设置为等于new_barcode
函数的输出。new_barcode
功能打印新条形码,并将新条形码添加到数据帧以避免重复。
因此,在未来,当你想要100个条形码时,你可以运行这样一个简单的for循环:
for i in range(100):
df = new_barcode(df)
这将节省时间,并使您的代码可读性更强。