将python dict数据写入CSV文件

将python dict数据写入CSV文件,python,csv,Python,Csv,我正在使用以下代码将python dict写入CSV文件 my_dict['date'] = time.strftime('%d-%m-%Y') my_dict['error_log'] = data file_exists = os.path.isfile('build_error_deatils.csv') with open('build_error_deatils.csv', 'a+') as f: w = csv.DictWriter(f, my_dict.keys()) if

我正在使用以下代码将python dict写入CSV文件

my_dict['date'] = time.strftime('%d-%m-%Y')
my_dict['error_log'] =  data
file_exists = os.path.isfile('build_error_deatils.csv')
with open('build_error_deatils.csv', 'a+') as f:
w = csv.DictWriter(f, my_dict.keys())
   if not file_exists:
       w.writeheader()
w.writerow(my_dict)
除了一块日志数据(如下所示的字符串)之外,所有内容都得到了正确的复制

 data = """
../../../../../../../src/junos/usr.sbin/l2cpd/os/l2cpd_rts_reader.c: In function 'l2cpd_vpls_iff_get_stp_index':
../../../../../../../src/junos/usr.sbin/l2cpd/os/l2cpd_rts_reader.c:129: error: 'RTM_IFF_RLT_ACTIVE_LINK' undeclared (first use in this function)
../../../../../../../src/junos/usr.sbin/l2cpd/os/l2cpd_rts_reader.c:129: error: (Each undeclared identifier is reported only once
../../../../../../../src/junos/usr.sbin/l2cpd/os/l2cpd_rts_reader.c:129: error: for each function it appears in.)
cc1: warnings being treated as errors
../../../../../../../src/junos/usr.sbin/l2cpd/os/l2cpd_rts_reader.c:129: warning: unused variable 'addi'
make[1]: *** [l2cpd_rts_reader.o] Error 1
***

"""
 my_dict['error_log'] =  data
我得到的数据如下

 data = """
../../../../../../../src/junos/usr.sbin/l2cpd/os/l2cpd_rts_reader.c: In function 'l2cpd_vpls_iff_get_stp_index':
../../../../../../../src/junos/usr.sbin/l2cpd/os/l2cpd_rts_reader.c:129: error: 'RTM_IFF_RLT_ACTIVE_LINK' undeclared (first use in this function)
../../../../../../../src/junos/usr.sbin/l2cpd/os/l2cpd_rts_reader.c:129: error: (Each undeclared identifier is reported only once
../../../../../../../src/junos/usr.sbin/l2cpd/os/l2cpd_rts_reader.c:129: error: for each function it appears in.)
cc1: warnings being treated as errors
../../../../../../../src/junos/usr.sbin/l2cpd/os/l2cpd_rts_reader.c:129: warning: unused variable 'addi'
make[1]: *** [l2cpd_rts_reader.o] Error 1
***

"""
 my_dict['error_log'] =  data

不确定为什么错误日志是空的。
此处需要帮助,请提前感谢…

最终可以通过将字符串更改为原始字符串来解决此问题

my_dict['error_log'] = repr(data)

查看时,请尝试向下拖动行高度。你的第一个角色是换行符,所以它可能在那里,但不可见。谢谢,@MartinEvans,但这里不是这样