我从gmail中收到的电子邮件附件中获得了一个.csv文件(使用python API),将其转换为数据帧以制作一些数据准备,并在我的pc上保存为.csv。它工作得很好,问题是我在某些列上得到了“\n”(它来自源附件)
我用来获取数据并转换为dataframe和.csv的代码
r = io.BytesIO(part.get_payload(decode = True))
df = pd.DataFrame(r)
df.to_csv('C:/Users/x.csv', index = False)
我得到的df示例:
+-------------+----------+---------+----------------------+
| Information | Modified | Created | MD_x0020_Agenda\r\n' |
+-------------+----------+---------+----------------------+
| c | d | f | \r\n' |
| b\n' | | | |
| c | e | \r\n' | |
+-------------+----------+---------+----------------------+
正确答案的示例:
+-------------+----------+---------+----------------------+
| Information | Modified | Created | MD_x0020_Agenda\r\n' |
+-------------+----------+---------+----------------------+
| c | d | f | \r\n' |
| b | c | e | \r\n' |
+-------------+----------+---------+----------------------+
我试着用线路终结者。在我看来,如果我强制它只获取\r\n而不获取\r\n,它就会工作。事实并非如此
df.to_csv('C:/Users/x.csv', index = False, line_terminator='\r\n')
谁能帮我一下吗?这真的把我吓坏了,因为我不能推进我的项目。谢谢
我混合了这两个答案,得到了答案,谢谢
PS:通过一些研究,我发现这是一个windows/excel问题,当您导出.csv时,它会将\n和\r\n(\r太?)视为新行。DataFrame仅将\r\n视为新行(默认情况下)
通常情况下,此“\n”表示句子将进入下一行,即“回车”键,换行符
您只需在数据帧上应用replace('\n','')即可消除它:
<>关于函数的更多细节,考虑检查这个特定的{a1}希望它能起作用
相关问题 更多 >
编程相关推荐