首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用NumPy和熊猫的Python文本矩阵

使用NumPy和熊猫的Python文本矩阵
EN

Stack Overflow用户
提问于 2014-05-31 15:47:56
回答 1查看 839关注 0票数 0

我一直在进行文本抓取,只是使用循环将文本写入CSV文件。例如(跳过大量代码--这只是为了说明):

代码语言:javascript
复制
for i in range(0,numresults):
    a2 = soup.find_all('td')[0].string
    a3 = soup.find_all('td')[1].string
    file.write(str(i) + '|' + a2 + '|' + a3 + '\n')

然后我可以像R一样打开这个CSV文件。

但是,假设我想在python中创建一个矩阵。首先,当使用包含大量文本的数据时,最好使用熊猫或NumPy吗?

第二,如何修改代码,使其不是写入文件,而是同时创建熊猫和NumPy数组?

让我们说,文本最终是:

代码语言:javascript
复制
a11 = 1; a12 = 'a'; a13 = 'Text1'
a21 = 2; a22 = 'B'; a23 = 'Text2'
a31 = 3; a32 = 'c'; a33 = 'Text3'
a41 = 4; a42 = 'D'; a44 = 'Text4'

import numpy as np
import pandas

最后,我将如何将生成的熊猫和NumPy矩阵写入CSV文件?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-31 18:08:47

似乎您正在使用BeautifulSoup从HTML中获取表。我已经成功地使用Pandas从网页中提取表格。使用来自熊猫文档的示例(以下是链接):

代码语言:javascript
复制
In [1]: import pandas as pd

In [2]: tables = pd.read_html('http://www.fdic.gov/bank/individual/failed/banklist.html')

在这种情况下,tables只有一个表。您可以执行print tables[0]查看或tables[0].to_csv(local_csv_output)保存为CSV文件。pd.read_html可以同时读取两个网址(http.)和本地HTML文件。

如果您有多个表,只需通过打印来手动找出您需要的表。

试试看让我们知道。

如果您已经分配了变量a11,a11,... (这似乎很奇怪--它们应该在list中),那么您可以创建熊猫DataFrame:

代码语言:javascript
复制
    In [38]: df = pd.DataFrame ([[a11,a12,a13],
[a21,a22,a23],
[a31,a32,a33],
[a41,a42,a44]],
columns=['Col1','Col2','Col3'])

In [39]: df
Out[39]: 
   Col1 Col2   Col3
0     1    a  Text1
1     2    B  Text2
2     3    c  Text3
3     4    D  Text4

df.to_csv('output_csv_file.csv')会把它保存到csv。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23971885

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档