pandas 从字符串“like”数据创建DataFrame

plicqrtu  于 2022-12-16  发布在  其他
关注(0)|答案(1)|浏览(185)

我有一个文本数据,看起来像这样:

3,"a","b","e","r"\n4,"1","2","5","7"\n4,"23","45","76","76"

我想把它转换成这样的表格:

a  b  e  r
1  2  5  7
23 45 76 76

我试过用Pandas的数据框来解决这个问题,但是数据量很大,大概有40 Mb。那么我应该怎么做才能解决这个问题呢?抱歉我解释得不好。我希望你能理解我的意思。谢谢!

import os
import pandas as pd
from io import StringIO
a = pd.read_csv(StringIO("12test.txt"), sep=",", header=None, error_bad_lines=False)
df = pd.DataFrame([row.split('.') for row in a.split('\n')])

print(df)

我试过了,但是不起作用。出现了一些错误,比如“'DataFrame'对象没有属性'split'“,数据框包含字符串“12test.txt”而不是文件中的数据,内存问题等。

jum4pzuy

jum4pzuy1#

试试看:

>>> s = '3,"a","b","e","r"\n4,"1","2","5","7"\n4,"23","45","76","76"'
>>> pd.DataFrame([[x.strip('"') for x in i.split(',')[1:]] for i in s.splitlines()[1:]], columns=[x.strip('"') for x in s.splitlines()[0].split(',')[1:]])
    a   b   e   r
0   1   2   5   7
1  23  45  76  76
>>>

使用列表解析,然后将其转换为pandas.DataFrame

相关问题