将熊猫输出格式设置为csv

时间:2019-10-18 18:08:44

标签: python pandas

我是python和pandas的新手,并创建了一个带有html代码的测试网页,可用于帮助学习如何提取数据,然后将其格式化为CSV格式以供在Excel中使用。下面是我提供的代码,将其设置为一种不错的格式,但是我仍然坚持如何将其格式化为CSV文件以导入。

代码:

# Importing pandas 
import pandas as pd 

# The webpage URL whose table we want to extract 
url = "/home/dvm01/e007"

# Assign the table data to a Pandas dataframe 
table = pd.read_html(url,**index_col=0**)[0]
#table2 = pd.read_html(url)[0],pd.read_html(url)[1],pd.read_html(url)[6]

# Print the dataframe 
print(table)
#print(table2)

# Store the dataframe in Excel file 
#table.to_excel("data.xlsx") 

输出:

            Account                                          Account.1
ID:                                         e007
Description:  ABST: 198, SUR: J DOUTHIT
Geo ID:                            014.0198.0000

我要弄清楚的是如何删除行的索引并在第一个文本之前添加文本:成为列标题。在第1行中,我有两个:但第一个之后的所有内容:应该是列标题的数据。

我想获取上述当前输出,并以ID,Description和Geo ID作为列标题,并在':'之后的文本作为每个标题的数据。

我不需要'Account'和'Account.1',我相信它们会被识别为列标题。以下是我希望输出在Excel中的外观,但是我无法弄清楚如何正确设置其格式以将其导出为可以导入的CSV。也许我什至不需要导入CSV或将其格式化为CSV文件,“ table.to_excel”功能似乎不需要该步骤。

+------+---------------------------+---------------+
| ID   | Description               | Geo ID        |
+------+---------------------------+---------------+
| e007 | ABST: 198, SUR: J Douthit | 014.0198.0000 |
+------+---------------------------+---------------+

通过使用上面定义dfs变量的index_col = 0,我能够删除索引号。不确定这是最好的方法,但是它确实做了我在那部分要完成的工作。

由于我是python的新手,因此很难将问题格式化为Google或StackOverflow以获取所需的答案。如果有人可以按照我的需求为我指明正确的方向,那将奏效,但示例也将很好。

感谢您的指导

1 个答案:

答案 0 :(得分:1)

因此,要格式化您的问题,您可以向我们展示您想要的示例。尝试这样的事情:

|id|name|data1|data2|date3|-url-|
|--|----|-----|-----|-----|-----|
|1 |xyz |datax|datay|dataz|x:url|
|2 |xyz |datax|datay|dataz|x:url|
|3 |xyz |datax|datay|dataz|x:url|
...

然后,您可以提出有关如何创建适合您所需设计的正确Dataframe输出的问题:)

您还可以在线使用此生成器:https://www.tablesgenerator.com/text_tables

+----+------+-------+-------+-------+------+
| Id | Name | Data1 | Data2 | Data3 | Url  |
+----+------+-------+-------+-------+------+
| 1  | xyz  | datax | datay | dataz | xurl | 
+----+------+-------+-------+-------+------+
| 2  | xyz  | datax | datay | dataz | xurl |
+----+------+-------+-------+-------+------+
| 3  | xyz  | datax | datay | dataz | xurl |
+----+------+-------+-------+-------+------+

好,现在您已经有了数据表设计。接下来,我将请您尝试使用Jupyter Notebook。这将使您逐行测试数据框。每个测试应该是数据集的新转移。

我如何看待工作流满足您的需求: 1.进行测试,看看您当前的DF列是什么:

print(df.columns)

2。使用此命令来编辑您的列:

df.rename(columns={'old column 1':'ID',
                          'old column 2':'Description',
                          'old column 3':'Geo ID'}, 
                 inplace=True)
  1. 使用此命令更改索引数据

    df.rename(index = {0:'zero',1:'one'},inplace = True)

  2. 使用此命令更改行

    df.loc['--insert_Column_here--', '--insert_row_here--'] = new_value