Python 如何从多个数据帧导出数据并将其存储在具有特定格式的文本文件中

Python 如何从多个数据帧导出数据并将其存储在具有特定格式的文本文件中,python,pandas,numpy,csv,Python,Pandas,Numpy,Csv,我有两个数据帧,如下所述: 我想从这两个数据帧创建一个文件,如下所示 NR NR^AI123456^AABC International PVT.Ltd^A1234^A526 Address^AXYZ,1234,Industrial Estate^A123^A NR^I123457^ABC1 International PVT.Ltd^A1236^A529 Address^AXYZ,1235,Industrial Estate^A129^A NR^AI123458^AABC2 Interna

我有两个数据帧,如下所述:

我想从这两个数据帧创建一个文件,如下所示

NR
NR^AI123456^AABC International PVT.Ltd^A1234^A526
Address^AXYZ,1234,Industrial Estate^A123^A
NR^I123457^ABC1 International PVT.Ltd^A1236^A529
Address^AXYZ,1235,Industrial Estate^A129^A
NR^AI123458^AABC2 International PVT.Ltd^A1238^A1000
Address^AXYZ,1236,Industrial Estate^A129^A

有谁能帮我创建一个文件,其中包含从表中添加的连续列值,该表由熊猫分隔。

假设您的数据帧遵循此模式:

import pandas as pd
df1 = pd.DataFrame({"nr": ["nr1", "nr2", "nr3"], "name": ["name1", "name2", "name3"], "id": ["id1", "id2", "id3"], "bal": ["bal1", "bal2", "bal3"]})
df2 = pd.DataFrame({"add": ["add1", "add2", "add3"], "house no": ["house no1", "house no2", "house no3"], "add add": ["add add1", "add add2", "add add3"]})
如果要将它们写入每个输入行的单个输出行,可以通过以下方法实现:

pd.merge(df1, df2, left_index=True, right_index=True).stack().groupby(level=0).apply("^A".join).to_csv(header=False, index=False)
但您的问题要求将两个数据帧中的记录交错,在这种情况下,一种相对简单的方法是:

x = df1.stack().groupby(level=0).apply("^A".join).values.tolist()
y = df2.stack().groupby(level=0).apply("^A".join).values.tolist()

f = open('test.txt', 'w')

for i, z in enumerate(x):
    f.write(f"NR^A{z}\n")
    f.write(f"Address^A{y[i]}\n")

f.close()
结果输出文件的格式与问题中的格式相同:

NR^Anr1^Aname1^Aid1^Abal1
Address^Aadd1^Ahouse no1^Aadd add1
NR^Anr2^Aname2^Aid2^Abal2
Address^Aadd2^Ahouse no2^Aadd add2
NR^Anr3^Aname3^Aid3^Abal3
Address^Aadd3^Ahouse no3^Aadd add3