Python Datacompy 库:如何将报告字符串保存到 csv 文件中?

问题描述 投票:0回答:4

我正在使用 Datacompy 比较两个数据框,但如何将最终结果保存为 Excel 工作表或 csv 文件?我得到一个字符串作为输出,但如何将其保存为 CSV。

import pandas as pd
df1_1=pd.read_csv('G1-1.csv')
df1_2=pd.read_csv('G1-2.csv')

import datacompy
compare = datacompy.Compare(
    df1_1,
    df1_2,
    join_columns='SAMPLED CONTENT (URL to content)', 
)

print(compare.report())
python excel python-3.x csv
4个回答
0
投票

我已经尝试过这个,它对我有用:

with open('//Path', encoding='utf-8') as report_file:
    report_file.write(compare.report())

0
投票

这对我来说也工作得很好完整代码

 compare = datacompy.Compare(
    Oracle_DF1,PostgreSQL_DF2, 
    join_columns=['c_transaction_cd','c_anti_social_force_req_id'],  #You can also specify a list of columns
    abs_tol=0, 
    rel_tol=0,
    df1_name = 'Oracle Source', 
    df2_name = 'PostgrSQL Reference'   
    )
    compare.matches(ignore_extra_columns=False)
    Report = compare.report()    csvFileToWrite=r'D://Postgres_Problem_15Feb21//Oracle_PostgreSQLDataFiles//Sample//summary.csv'
    with open(csvFileToWrite,mode='r+',encoding='utf-8') as report_file:
        report_file.write(compare.report())

0
投票

请务必添加“w”来书写。

'''蟒蛇 with open(r'将写入数据的文件路径','w',encoding='utf-8')作为report_file: report_file.write(比较.report()) '''


-1
投票

如果你只是使用pandas,你可以尝试pandas自己的方式写入csv:

> df = pd.DataFrame([['yy','rr'],['tt', 'rr'],['cc', 'rr']], index=range(3),
                  columns=['a', 'b'])

> df.to_csv('compare.csv')

我没有使用过datacompy,但我建议你可以将你的结果做成一个dataframe,然后你可以使用to_csv方式。

© www.soinside.com 2019 - 2024. All rights reserved.