Python 附加csv,数据帧行以管道分隔

Python 附加csv,数据帧行以管道分隔,python,python-3.x,pandas,Python,Python 3.x,Pandas,我以前是这样做的: dfx.to_csv('test.csv', index=None, sep='|') 我想用另一个数据帧附加该文件。以下是我的尝试: with open('test.csv','a') as fd: fd.write(str(dfx.iloc[0])) 我想附加到csv的新数据框中只有一行数据,需要用管道分隔 编辑:什么也没发生 EDIT2:我必须在已经存在的csv中添加一行。CSV完全单独创建。我在这里展示它,这样你就知道我是如何创建它的,这样就可以正

我以前是这样做的:

dfx.to_csv('test.csv', index=None, sep='|')

我想用另一个数据帧附加该文件。以下是我的尝试:

with open('test.csv','a') as fd:
        fd.write(str(dfx.iloc[0]))
我想附加到csv的新数据框中只有一行数据,需要用管道分隔

编辑:什么也没发生

EDIT2:我必须在已经存在的csv中添加一行。CSV完全单独创建。我在这里展示它,这样你就知道我是如何创建它的,这样就可以正确地追加它,而不是因为它发生在同一个脚本中等等

EDIT3:这就得到了我想要附加的内容:

s = dfx.iloc[0]
print(s.str.cat(sep='|'))
但这并不像预期的那样:

with open('test.csv','a') as fd:
            fd.write(str(s))
编辑4:这起作用了:

        # Save periodicity to csv the first time
#         dfx.to_csv('test.csv', index=None, sep='|')

        # append the csv
        s = dfx.iloc[0]
#         print(s.str.cat(sep='|'))
        s = s.str.cat(sep='|')
        with open('test.csv','a') as fd:
            fd.write(str(s) + '\n')

正如您所写,您希望连接csv文件,我建议:

import io
import pandas as pd
df=pd.read_csv(io.StringIO("x,y,z\n1,2,3\n4,5,6\n"))
df2=pd.read_csv(io.StringIO("x,y,z\n4,6,4\n5,5,5\n"))

with open('/tmp/the_csv', 'w') as f:
    f.write(df.to_csv(index=False,header=True, sep='|'))

with open('/tmp/the_csv', 'a') as f:
    f.write(df.to_csv(index=False,header=False, sep='|'))
检查内容:

!cat/tmp/U csv

x|y|z
1|2|3
4|5|6
1|2|3
4|5|6

请澄清:a)
dfx
pandas.DataFrame
?b) 如果是这样的话:您是否知道
DataFrame.concat
?a)它是,b)不,pyi不想附加数据帧。我想附加csv“我想用另一个数据帧附加该文件”-我建议您考虑:a)数据帧,然后将
连接到\u csv
连接结果,b)将
的字符串输出连接到\u csv
我不能。我必须向现有csv添加一行。