我正在使用Python生成测试数据。
我的整个过程非常适合,但是,我有这段代码。
user
我希望能够做的是填充第4,5,6行,其中包含2,3,4这样的用户信息:
def get_lines():
line1 = "Document Header - Once per document"
line2 = "\nDocument Information - Once per document"
line3 = "\nDocument Information 2 - Once per document"
line4 = "\nUser information 1"
line5 = "\nUser Information 1"
line6 = "\nUser Information 1"
line7 = "\nDocument Footer - Once per document"
return line1 + line2 + line3 + line4 + line5 + line6 + line7
但它是随机的,即说我想要10个文件,有些会包含一些用户信息,有些是2个等等3个等...
我正在努力找到一种一致的方式来生产我需要的东西。
谢谢。
编辑:添加了示例消息:ORC OBR和OBX都由UID链接
line1 = "Document Header - Once per document"
line2 = "\nDocument Information - Once per document"
line3 = "\nDocument Information 2 - Once per document"
line4 = "\nUser information 1"
line5 = "\nUser Information 1"
line6 = "\nUser Information 1"
line4 = "\nUser information 2"
line5 = "\nUser Information 2"
line6 = "\nUser Information 2"
line4 = "\nUser information 3"
line5 = "\nUser Information 3"
line6 = "\nUser Information 3"
line7 = "\nDocument Footer - Once per document"
答案 0 :(得分:0)
编辑
我现在看到你提供了样本数据,但我不确定这是否是你期望从get_lines
方法得到的所需输出,或者是你要消耗的输入来产生所需的输出get_lines
?
只需使用要打印的用户标识传递变量即可。您还可以使用random.choice
从列表中随机选择一个值,或者生成并传递random.randint
def get_lines(userid):
line1 = "Document Header - Once per document"
line2 = "\nDocument Information - Once per document"
line3 = "\nDocument Information 2 - Once per document"
line4 = "\nUser information {}".format(userid)
line5 = "\nUser Information {}".format(userid)
line6 = "\nUser Information {}".format(userid)
line7 = "\nDocument Footer - Once per document"
return line1 + line2 + line3 + line4 + line5 + line6 + line7
userids = [1,2,3,4,5,6,7,8,9]
答案 1 :(得分:0)
你可以喜欢这段代码。
def get_lines():
line1 = "Document Header - Once per document"
line2 = "\nDocument Information - Once per document"
line3 = "\nDocument Information 2 - Once per document"
line4 = "\nUser information 1"
line5 = "\nUser Information 1"
line6 = "\nUser Information 1"
line7 = "\nDocument Footer - Once per document"
return setLine(line1, 1) + setLine(line2, 1) + setLine(line3, 1) + setLine(line4, 3)+ setLine(line4, 3, "1", "2")
def setLine(content, iNum = 1, oldStr="", newStr=""):
strStr = ""
for ii in range(0, iNum):
strStr += content.replace(oldStr, newStr)
return strStr
print(get_lines())
示例代码输出为:
Document Header - Once per document
Document Information - Once per document
Document Information 2 - Once per document
User information 1
User information 1
User information 1
User information 2
User information 2
User information 2