使用NumPy和pandas的Python文本矩阵

使用NumPy和pandas的Python文本矩阵,python,csv,numpy,matrix,pandas,Python,Csv,Numpy,Matrix,Pandas,我一直在做文本抓取,只是使用循环将文本写入CSV文件。例如(跳过大量代码-这只是为了说明): 然后我可以用类似R的方式打开这个CSV文件 但是让我们假设我想用python创建一个矩阵。首先,当使用包含大量文本的数据时,最好使用pandas还是NumPy 其次,如何修改代码,使其不写入文件,而是同时创建pandas和NumPy数组 假设文本最终为: a11 = 1; a12 = 'a'; a13 = 'Text1' a21 = 2; a22 = 'B'; a23 = 'Text2' a31 = 3

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

然后我可以用类似R的方式打开这个CSV文件

但是让我们假设我想用python创建一个矩阵。首先,当使用包含大量文本的数据时,最好使用pandas还是NumPy

其次,如何修改代码,使其不写入文件,而是同时创建pandas和NumPy数组

假设文本最终为:

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

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

您似乎正在使用BeautifulSoup从HTML获取表格。我已经成功地使用Pandas从网页中提取表格。使用pandas文档中的示例(如下所示):

在这种情况下,
只有一个表。您可以执行
打印表格[0]
以查看或
表格[0].\u csv(本地\u csv\u输出)
以另存为csv文件。
pd.read\u html
可以读取URL(http…)和本地html文件

如果您有多个表,只需通过打印来手动查找所需的表即可

试试看,让我们知道

如果您已经分配了变量
a11,a11,…
(这似乎很奇怪——它们应该在
列表中),那么您可以创建数据帧:

    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。

初始文本数据或要将其放入pandas dataframe/numpy数组时的文本数据的格式是什么?我认为将数据读入pandas数据框,进行文本抓取,然后使用to_csv方法可能是最简单的选择。文本来自一个HTML文件,我通过请求读入,然后使用BeautifulSoup进行处理。当我想把它放到pandas(或NumPy)中时,它将是string。我对beautifulsou并不太熟悉,但最终它取决于数据的结构,而不仅仅是类型。如果它是JSON,那么就可以很容易地用Pandasun读入它。我的web抓取工作不仅仅是查找表。我只是在我的问题中做了一个简单的例子。另外,我已经知道BeautifulSoup,所以我宁愿用它来获取我的数据,然后将其放入熊猫中。
In [1]: import pandas as pd

In [2]: tables = pd.read_html('http://www.fdic.gov/bank/individual/failed/banklist.html')
    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