在Python中如何将字符串转换为数据帧

2024-04-25 20:25:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用urlopen获取一个字符串,如下所示,我想将该字符串转换为一个数据帧并保留几个列,如state、AQI等等。我不知道怎么做,想征求你的意见。谢谢您!

  response=urlopen(URL).read().decode('utf-8')
  print(response) 
"DateIssue","DateForecast","ReportingArea","StateCode","Latitude","Longitude","ParameterName","AQI","CategoryNumber","CategoryName","ActionDay","Discussion"
"2017-05-01 ","2017-05-01 ","Metropolitan Washington","DC","38.919","-77.013","O3","42","1","Good","false",""
"2017-05-01 ","2017-05-01 ","Metropolitan Washington","DC","38.919","-77.013","PM2.5","46","1","Good","false",""
"2017-05-01 ","2017-05-02 ","Metropolitan Washington","DC","38.919","-77.013","O3","44","1","Good","false",""
"2017-05-01 ","2017-05-02 ","Metropolitan Washington","DC","38.919","-77.013","PM2.5","25","1","Good","false",""
"2017-05-01 ","2017-05-03 ","Metropolitan Washington","DC","38.919","-77.013","O3","44","1","Good","false",""
"2017-05-01 ","2017-05-03 ","Metropolitan Washington","DC","38.919","-77.013","PM2.5","25","1","Good","false",""
"2017-05-01 ","2017-05-04 ","Metropolitan Washington","DC","38.919","-77.013","O3","42","1","Good","false",""
"2017-05-01 ","2017-05-04 ","Metropolitan Washington","DC","38.919","-77.013","PM2.5","29","1","Good","false",""

Tags: 数据字符串falseurlreadresponsedcurlopen
2条回答

使用read_fwfto_csv()然后read_csv()

import io 
import pandas as pd

df = pd.read_fwf(io.StringIO(response))

df.to_csv('data.csv')

result_df = pd.read_csv('data.csv',)

你似乎可以使用:

from pandas.compat import StringIO
df = pd.read_csv(StringIO(response))

但也可能有效:

df = read_csv(URL)

相关问题 更多 >