Pandas - 将内存中作为字符串存储的csv读取到数据帧

2024-02-16

将逗号分隔的文本存储在如下所示的 var 中

data = """
Class,Name,Long,Lat
A,ABC11,139.6295542,35.61144069
A,ABC20,139.630596,35.61045559
A,ABC03,139.6300307,35.61327781
B,ABC54,139.7787818,35.68847945
B,ABC05,139.7814447,35.6816882
B,ABC06,139.7788191,35.681865
B,ABC24,139.7790396,35.67781697
"""

有没有一种快速方法可以将其读入 pandas 数据帧,而无需存储到文件并使用pd.read_csv()。我来自R它提供了一种很好的方法来做到这一点,如下所示。

text <- "
State,District,County,Num Voters,Total Votes in State,Votes for None,Candidate Name,Party,Votes Scored
CA,San Diego,Delmar,190962,48026634,2511,A1,IND,949
CA,San Diego,Delmar,190962,48026634,2511,A2,RP(K),44815
"
df <- read.table(textConnection(text), sep = ",", header = TRUE)

With io.StringIO https://docs.python.org/3/library/io.html#io.StringIO对象(文本 I/O 的内存流):

import pandas as pd
from io import StringIO

data = """
Class,Name,Long,Lat
A,ABC11,139.6295542,35.61144069
A,ABC20,139.630596,35.61045559
A,ABC03,139.6300307,35.61327781
B,ABC54,139.7787818,35.68847945
B,ABC05,139.7814447,35.6816882
B,ABC06,139.7788191,35.681865
B,ABC24,139.7790396,35.67781697
"""

df = pd.read_csv(StringIO(data))
print(df)

输出:

  Class   Name        Long        Lat
0     A  ABC11  139.629554  35.611441
1     A  ABC20  139.630596  35.610456
2     A  ABC03  139.630031  35.613278
3     B  ABC54  139.778782  35.688479
4     B  ABC05  139.781445  35.681688
5     B  ABC06  139.778819  35.681865
6     B  ABC24  139.779040  35.677817
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Pandas - 将内存中作为字符串存储的csv读取到数据帧 的相关文章

随机推荐