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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 离线部署Python环境的详细过程

    离线部署Python环境的详细过程

    本文主要介绍了离线部署Python环境的全过程,包括前置工作、部署Python、测试Python、配置环境和验证Python五个步骤,为读者提供了详细的操作指南,希望能对需要离线部署Python环境的读者提供帮助
    2024-10-10
  • python调用api实例讲解

    python调用api实例讲解

    在本篇内容里小编给大家分享的是一篇关于python调用api实例讲解内容,有兴趣的朋友们可以参考下。
    2021-04-04
  • Python爬虫之Selenium实现键盘事件

    Python爬虫之Selenium实现键盘事件

    这篇文章主要介绍了Python爬虫之Selenium实现键盘事件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • 华为2019校招笔试题之处理字符串(python版)

    华为2019校招笔试题之处理字符串(python版)

    这篇文章主要为大家详细介绍了华为2019校招笔试题之处理字符串,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-06-06
  • Python中list列表添加元素的3种方法总结

    Python中list列表添加元素的3种方法总结

    这篇文章主要介绍了Python中list列表添加元素的3种方法总结,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • python二进制转换模块的具体用法

    python二进制转换模块的具体用法

    在pyton中,通过struct模块来对二进制进行转换,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • python计算机视觉opencv图像金字塔轮廓及模板匹配

    python计算机视觉opencv图像金字塔轮廓及模板匹配

    这篇文章主要为大家介绍了python计算机视觉opencv图像金字塔图像轮廓及模板匹配的学习讲解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2021-11-11
  • 使用Python实现对PDF文件进行密码保护

    使用Python实现对PDF文件进行密码保护

    这篇文章主要为大家详细了如何使用Python来实现PDF文件的密码保护,以确保只有授权的用户可以访问文档,文中的示例代码简洁易懂,有需要的小伙伴可以参考一下
    2024-01-01
  • python感知机实现代码

    python感知机实现代码

    这篇文章主要为大家详细介绍了python感知机实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-01-01
  • pandas的object对象转时间对象的方法

    pandas的object对象转时间对象的方法

    下面小编就为大家分享一篇pandas的object对象转时间对象的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04

最新评论