将CSV导入为熊猫数据框,并删除所有完全空白的列:
import pandas as pd
df1 = pd.read_csv("name.csv")
df1 = df1.dropna(axis=1,how='all')
可惜一栏看起来像:
'Background\r\n * find it: IDE-3: Some Name\r\n * Dokument: SomeName.pptx\r\n * Field: TEG-33\r\n * happy: Done\r\n\r\nh3. Definition\r\n\r\n\xa0tbd.\r\nh3. exists\r\n\r\ncsv\r\nh3. Source\r\n\r\ncsv?\r\n\r\npotentiell?\r\n\r\ntbd\r\nh3. task\r\n\r\ntbd\r\n\r\n\xa0'
问题1 :我想删除所有\ r \ n和\ r \ n \ r \和\ r \ n \ r \ n \和\ r \ n \ r \ n \ xa0等。有人可以提供正则表达式帮助吗?我找不到清晰的图案。
问题2 :首先将CSV导入熊猫数据框时,如何防止所有这些不同形式的\ r \ n \ r \(请参阅问题2)?< / p>
(Python 3,Anaconda3发行版,在Windows 10上)
答案 0 :(得分:1)
对于问题1:
(df1['Column 3']
.str.replace('\r','')
.str.replace('\n','')
.str.replace('\xa0', ''))
对于问题2:您可以在将数据输入到csv中时清理它们-但是很难说,不知道数据来自何处!
答案 1 :(得分:1)
此正则表达式将实现您想要的:
(\r\n)+(\r)*(\xa0)*
说明:
(\r\n)+ # One or more copies of '\r\n'
(\r)* # Any extra appended '\r'
(\xa0)* # Any final appended '\xao'
不过请注意,在您的示例中,没有\r\n...\r
形式的字符串,即末尾带有\r
的字符串。