Python技巧分享之如何将字符串转回DataFrame格式

 更新时间:2023年06月13日 11:10:05   作者:IT里的交易员  
平常我们使用pandas,一般使用的是DataFrame和Series,但个别交换数据的时候,只能使用字符串,那如何再将字符串再转回DataFrame格式呢,本文就来和大家讲讲解决办法

前言

平常我们使用pandas,一般使用的是DataFrame和Series,但个别交换数据的时候,只能使用字符串,我们需要将df转为字符串输出。但交换完的数据,我们又需要将字符串再转回DataFrame格式,这个怎么办呢?

下文我们就来看看,如何处理?文中df代表DataFrame数据。

一、两行语句搞定数据转换

1.df转为字符串

dfstr = df.to_string()

2.字符串转为df

df2 = pd.read_csv(StringIO(dfstr), sep=‘\s+’)

注:这里前提是str的确是df的数据组织方式。

二、使用方法示例

文中为了方便展示表格,使用了prettytable,如果报错没有该模块,使用如下语句安装即可。

pip install prettytable

完整演示代码如下:

# ===============表格美化输出===============
def df_table(df,index):
    import prettytable as pt
    tb = pt.PrettyTable()
    tb.add_column(index,df.index)
    for col in df.columns.values:
        tb.add_column(col, df[col])
    print(tb)
import pandas as pd
from io import StringIO
df = pd.DataFrame({'A' : ['1', '2', '3', '4'] * 3,
                   'B' : ['A', 'B', 'C'] * 4})
df_table(df,'原始df')
dfstr = df.to_string()
print('\ndfstr数据类型:\n',type(dfstr))
print('\ndfstr数据内容:\n',dfstr)
df2 = pd.read_csv(StringIO(dfstr), sep='\s+')
print('\ndf2数据类型:\n',type(df2))
print('\ndf2数据内容:\n',df2)
df_table(df2,'dfstr转df')

执行结果如下:

+--------+---+---+
| 原始df | A | B |
+--------+---+---+
|   0    | 1 | A |
|   1    | 2 | B |
|   2    | 3 | C |
|   3    | 4 | A |
|   4    | 1 | B |
|   5    | 2 | C |
|   6    | 3 | A |
|   7    | 4 | B |
|   8    | 1 | C |
|   9    | 2 | A |
|   10   | 3 | B |
|   11   | 4 | C |
+--------+---+---+

dfstr数据类型: <class 'str'>

dfstr数据内容:
     A  B
0   1  A
1   2  B
2   3  C
3   4  A
4   1  B
5   2  C
6   3  A
7   4  B
8   1  C
9   2  A
10  3  B
11  4  C

df2数据类型: <class 'pandas.core.frame.DataFrame'>

df2数据内容:
     A  B
0   1  A
1   2  B
2   3  C
3   4  A
4   1  B
5   2  C
6   3  A
7   4  B
8   1  C
9   2  A
10  3  B
11  4  C
+-----------+---+---+
| dfstr转df | A | B |
+-----------+---+---+
|     0     | 1 | A |
|     1     | 2 | B |
|     2     | 3 | C |
|     3     | 4 | A |
|     4     | 1 | B |
|     5     | 2 | C |
|     6     | 3 | A |
|     7     | 4 | B |
|     8     | 1 | C |
|     9     | 2 | A |
|     10    | 3 | B |
|     11    | 4 | C |
+-----------+---+---+
请按任意键继续. . .

总结

将DataFrame转化为str进行数据交换,但最终我们还是需要使用DataFrame来处理数据。在转换回DataFrame时,要注意str的存储内容依然保持DataFrame的格式形式,否则将引起转换异常。

使用以上方法,一般来说都不会有什么问题。如果系统已自动转为字符串,也可以使用步骤2转化为DataFrame。

到此这篇关于Python技巧分享之如何将字符串转回DataFrame格式的文章就介绍到这了,更多相关Python字符串转DataFrame内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • CentOS系统Python卸载攻略大揭秘

    CentOS系统Python卸载攻略大揭秘

    想要彻底卸载 CentOS 上的 Python 吗?不用担心,我们来帮你搞定!本指南将教你如何在 CentOS 系统上完全清理 Python,让你的系统焕然一新,跟着我们的步骤,让你的系统焕然一新吧!
    2023-11-11
  • Python实现采集网站ip代理并检测是否可用

    Python实现采集网站ip代理并检测是否可用

    这篇文章主要介绍了如何利用Python爬虫实现采集网站ip代理,并检测IP代理是否可用。文中的示例代码讲解详细,感兴趣的可以试一试
    2022-01-01
  • Jupyter Notebook 安装配置与使用详解

    Jupyter Notebook 安装配置与使用详解

    这篇文章主要介绍了Jupyter Notebook 安装配置与使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • Python爬取个人微信朋友信息操作示例

    Python爬取个人微信朋友信息操作示例

    这篇文章主要介绍了Python爬取个人微信朋友信息操作,涉及Python使用itchat包实现微信朋友信息爬取操作相关实现技巧,需要的朋友可以参考下
    2018-08-08
  • python中List添加与删除元素的几种方法实例

    python中List添加与删除元素的几种方法实例

    列表基本上是 Python 中最常用的数据结构之一了,并且删除操作也是经常使用的,下面这篇文章主要给大家介绍了关于python中List添加与删除元素的相关资料,需要的朋友可以参考下
    2022-09-09
  • 制作Python数字华容道的实现(可选择关卡)

    制作Python数字华容道的实现(可选择关卡)

    这篇文章主要介绍了制作Python数字华容道的实现(可选择关卡),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • Pandas透视表(pivot_table)详解

    Pandas透视表(pivot_table)详解

    这篇文章主要介绍了Pandas透视表(pivot_table)详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • python Autopep8实现按PEP8风格自动排版Python代码

    python Autopep8实现按PEP8风格自动排版Python代码

    这篇文章主要介绍了python Autopep8实现按PEP8风格自动排版Python代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • PyQt5 PySide2 触摸测试功能的实现代码

    PyQt5 PySide2 触摸测试功能的实现代码

    这篇文章主要介绍了PyQt5 PySide2 触摸测试功能的实现,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-04-04
  • 基于Python实现抢注大词的提词工具

    基于Python实现抢注大词的提词工具

    这篇文章主要为大家详细介绍了如何利用Python语言实现抢注大词的提词工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-02-02

最新评论