将 pandas 输出格式化为 csv

我是 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、描述和地理 ID 作为列标题,将“:”之后的文本作为每个标题的数据。


我不需要 'Account' 和 'Account.1' 我相信这些被识别为列标题。下面是我希望输出在 Excel 中的样子,但我不知道如何正确格式化它以导出到可以导入的 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 以获得我正在寻找的答案。如果有人能指出我正在寻找的正确方向,那会奏效,但例子也会很好。


开满天机
浏览 168回答 1
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)使用此命令更改索引数据df.rename(index={0:'zero',1:'one'}, inplace=True)使用此命令更改行df.loc['--insert_Column_here--', '--insert_row_here--'] = new_value
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python