python - 使用 Pandas Dataframe 获得意外输出
问题描述
我正在抓取一个网站并将其存储在使用Pandas DataFrame
. 没有错误,但得到了奇怪的输出,因为第一列的行结束,第二列中插入的数据从那里开始。让我给你一个直观的例子:
Column 1 Column 2 Column 3
x
x
x
x
x
x
x
x
x
如您所见,数据以这种形式存储在.csv
文件中,正如我所说的,下一个数据将填充前一个数据的末尾。
这是我的代码:
elements_1 = driver.find_elements_by_css_selector(one_)
web_content_list = []
for ele in elements_1:
web_content_dict = {}
web_content_dict["Title"] = ele.text
web_content_list.append(web_content_dict)
elements_2 = driver.find_elements_by_css_selector(two_)
for ele2 in elements_2:
web_content_dict = {}
web_content_dict["Title2"] = ele2.text
web_content_list.append(web_content_dict)
elements_3 = driver.find_elements_by_css_selector(three_)
for ele3 in elements_3:
web_content_dict = {}
web_content_dict["Title3"] = ele3.text
web_content_list.append(web_content_dict)
df = pd.DataFrame(web_content_list)
df.to_csv(csv_file_location,
index=False, mode='a', encoding='utf-8')
也不要告诉我使用
dropna()
或类似的东西,因为当文件具有空值时这有效,但在我的情况下,它不是!所以这里不行。。。
任何帮助,将不胜感激...
解决方案
唔..
如果您只想要具有以下结构的数据框,则后处理将是合适的。
尝试这个。
new_df = pd.DataFrame({'Column 1': df['Column 1'].dropna(),
'Column 2': df['Column 2'].dropna(),
'Column 3': df['Column 3'].dropna()})
推荐阅读
- json - 在使用使用基本身份验证的登录 api 后返回 json 中的用户对象
- node.js - 更改 hbs 文件时服务器重启
- php - 图像未存储在 Laravel 5.8 数据库中?
- selenium - Selinux 对 Selenium、WebDriver、gecko、Firefox 的权限,
- android - AppCompat 和 Androidx 之间的兼容性
- r - 使用子图时控制 ggplotly 中的图例
- r - 如何使用 as.POSIXct 将字符列转换为日期?
- python - PySpark 从现有列创建具有值列表的新列
- javascript - 在 Vue.js 和 Quasar 中实现的多重过滤形式中输入值消失
- python - 如何在特定时间实例从日期列中获取值?