从Sage

时间:2015-10-28 10:38:19

标签: python sage

我有一个包含以下内容的文件,我在Sage中导入。

James,4626544,56565656
Julian,4646463,346346364
Perez,4626544,56565656
Paul,7658568,56565656
Ronaldo,4626544,8468568
Zlatan,4626544,56565656

现在从Sage工作表(.sagews),我想恢复与从P到R的字母开头的名字对应的行(恢复:Perez,Paul和Ronaldo)。

我试过

for x in THEFILE
    print from x[0][0]='P' to x[0][0]='R'

并收到错误消息。我是怎么做到的(我已经在Sage工作表中导入了该文件以使用它。)

1 个答案:

答案 0 :(得分:0)

根据文件读入Sage的方式,THEFILE 可能是与文件中的行对应的字符串列表, 即

['James,4626544,56565656',
 'Julian,4646463,346346364',
 'Perez,4626544,56565656',
 'Paul,7658568,56565656',
 'Ronaldo,4626544,8468568',
 'Zlatan,4626544,56565656']

或字符串列表列表:

[['James', '4626544', '56565656'],
 ['Julian', '4646463', '346346364'],
 ['Perez', '4626544', '56565656'],
 ['Paul', '7658568', '56565656'],
 ['Ronaldo', '4626544', '8468568'],
 ['Zlatan', '4626544', '56565656']]

在下面相应地使用x [0]或x [0] [0]。

要打印:

for x in THEFILE:
    if 'P' <= x[0] <= 'R':
        print(x)

获取提取列表:

P_to_R = [x for x in THEFILE if 'P' <= x[0] <= 'R']

Python csv模块或pandas包可以提供帮助 还有这样的数据处理:

要在Sage中安装pandas,请在终端中运行以下命令:

sage --pip install pandas