我想做的是从pybaseball的输出中获取该输出,并将其作为列表设置。
[Tm W L W-L%GB 1波士顿红袜94 44 .681-2纽约洋基86 51 .628]
并使用pandas将其放入csv文件。到目前为止,这些是我尝试过的查询,我已将此输出信息设置为数据。每当我尝试从pd.DataFrame()
导入它时,都会告诉我:
AttributeError:“列表”对象没有属性“ to_csv”。
因此,我使用df = pd.Dataframe(data)
向其中添加了一个数据框,并且仅打印了标题
0队W L W-L%GB 0 Tm Tm
1 W W
2 L L
3 W-L%W-L%
4 GB GB
我将如何将列表中的所有信息导入csv?
from pybaseball import standings
import pandas as pd
data = standings()
data.to_csv('file.csv', header = True, sep = ',')
答案 0 :(得分:0)
看起来像standings()
返回了list
的{{1}}:
dataframes
输出:
from pybaseball import standings
import pandas as pd
data = standings()
print type(data)
print type(data[0])
要将其写入文件,您需要将数据帧列表concatenate写入单个数据帧,然后再进行写入:
<type 'list'>
<class 'pandas.core.frame.DataFrame'>
输出:
all_data = pd.concat(data)
print all_data
all_data.to_csv("baseball_data.csv", sep=",", index=False)
您将拥有一个文件 Tm W L W-L% GB
1 Boston Red Sox 95 44 .683 --
2 New York Yankees 86 52 .623 8.5
3 Tampa Bay Rays 74 63 .540 20.0
4 Toronto Blue Jays 62 75 .453 32.0
5 Baltimore Orioles 40 98 .290 54.5
1 Cleveland Indians 77 60 .562 --
2 Minnesota Twins 63 74 .460 14.0
3 Chicago White Sox 56 82 .406 21.5
4 Detroit Tigers 55 83 .399 22.5
5 Kansas City Royals 46 91 .336 31.0
1 Houston Astros 85 53 .616 --
2 Oakland Athletics 83 56 .597 2.5
3 Seattle Mariners 77 61 .558 8.0
4 Los Angeles Angels 67 71 .486 18.0
5 Texas Rangers 60 78 .435 25.0
1 Atlanta Braves 76 61 .555 --
2 Philadelphia Phillies 72 65 .526 4.0
3 Washington Nationals 69 69 .500 7.5
4 New York Mets 62 75 .453 14.0
5 Miami Marlins 55 83 .399 21.5
1 Chicago Cubs 81 56 .591 --
2 Milwaukee Brewers 78 61 .561 4.0
3 St. Louis Cardinals 76 62 .551 5.5
4 Pittsburgh Pirates 67 71 .486 14.5
5 Cincinnati Reds 59 79 .428 22.5
1 Colorado Rockies 75 62 .547 --
2 Los Angeles Dodgers 75 63 .543 0.5
3 Arizona Diamondbacks 74 64 .536 1.5
4 San Francisco Giants 68 71 .489 8.0
5 San Diego Padres 55 85 .393 21.5
,它是上面数据框的逗号分隔表示。