我抓取了一个网站,并将每一页的数据连续添加到csv文件中。但是来自不同页面的数据可能不相同,由于该网页未提供其信息,因此缺少了一些数据。
CSV人:
C1 C2 C3 C4 C5 C6 C7
Annie Height: 145 Weight: 45 Car: no House:1 K-T-J X-Z
Jason Height: 189 Car:3 T Y
Ben Height: 178 House:0 J-H X-Z
例如,我尝试从csv中清除3行,并希望按顺序设置它们。
我所期望的:
Name Height Weight Car House K T J H X Y Z
Annie Height: 145 Weight: 45 Car:no House:1 K T J X Z
Jason Height: 189 Car:3 T Y
Ben Height: 178 House:0 J H X Z
如果值包含“:”,则只需将它们放在右列中。如果值包含“-”,则需要将它们拆分到右列。目前,我是手动执行此操作,但是花了很长时间,只是徘徊着是否有可能以有效的方式解决它们。
答案 0 :(得分:0)
我认为最好的方法是创建一个将逐行处理的函数 :
阅读该行,并通过str.split()
使用RegEx分析每个元素。例如,^[^:]+:\s*
将帮助您获取“:”之前的所有内容。
将所有内容存储回正确的位置(例如使用pandas Dataframe)