Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 循环|列表|提取_Python_List_Loops_File_Text Extraction - Fatal编程技术网

Python 循环|列表|提取

Python 循环|列表|提取,python,list,loops,file,text-extraction,Python,List,Loops,File,Text Extraction,我正在尝试从文件中导入一些元素,对它们进行一些处理,并将[extract to file in future]结果打印到列表中。当我以和平破坏代码和平时,我得到了我需要的所有信息,但当我试图通过循环一次提取所有信息时,我得到了以下信息: spotify:track:0PJ4RVL5wCeHDO8wHpk3YG t 0 K S s 1 n t p 2 a e o 3 s v t 循环按字母分隔单词[列表的最后一个元素] 我使用了几个循环,有些ID我不知道如何将所需信息附加到这些ID上 impor

我正在尝试从文件中导入一些元素,对它们进行一些处理,并将[extract to file in future]结果打印到列表中。当我以和平破坏代码和平时,我得到了我需要的所有信息,但当我试图通过循环一次提取所有信息时,我得到了以下信息:

spotify:track:0PJ4RVL5wCeHDO8wHpk3YG
t
0 K S s
1 n t p
2 a e o
3 s v t
循环按字母分隔单词[列表的最后一个元素]

我使用了几个循环,有些ID我不知道如何将所需信息附加到这些ID上

import spotipy
import openpyxl
import pandas as pd
import xlsxwriter
import xlrd
from spotipy.oauth2 import SpotifyClientCredentials

path = "C:\\Users\\Karolis\\Desktop\\Python\\Failai\\Gabalai.xlsx"
wb = xlrd.open_workbook(path)
sheet = wb.sheet_by_index(0)
sheet2 = wb.sheet_by_index(0)
sheet.cell_value(0, 0)
sheet2.cell_value(0, 0)
client_id = ''
client_secret = ''

for ix in range(sheet.nrows):
    title = (sheet.cell_value(ix, 0))
    artist = (sheet2.cell_value(ix, 1))

# cia apacioj istraukia gabalo uri
client_credentials_manager = SpotifyClientCredentials(client_id=client_id, client_secret=client_secret)
sp = spotipy.Spotify(client_credentials_manager=client_credentials_manager)
sp.trace = False
search_query = title + ' ' + artist
result = sp.search(search_query)
for i in result['tracks']['items']:
    # Find a songh that matches title and artist
    if (i['artists'][0]['name'] == artist) and (i['name'] == title):
        uri = (i['uri'])
        break
else:
    try:
        # Just take the first song returned by the search (might be named differently)
        print(result['tracks']['items'][0]['uri'])
    except:
        # No results for artist and title
        print("Cannot Find URI")

# cia apacioj istraukia gabalo info pagal jo uri
uri = (i['uri'])

client_credentials_manager = SpotifyClientCredentials(client_id=client_id, client_secret=client_secret)
sp = spotipy.Spotify(client_credentials_manager=client_credentials_manager)
sp.trace = False
features = sp.audio_features(uri)

for p in range(len(title)):
    print(p, artist[p], title[p],uri[p])

book1.close()
我是一个编程新手,我完全迷失在这一点上

感谢您提供的任何帮助

上次循环

for p in range(len(title)):
    print(p, artist[p], title[p],uri[p])

显式打印艺术家、标题和uri的每个字符。我认为您的意思是在标题列表上循环,并将其索引到艺术家、标题和URI列表中,但实际上您是在字符串长度上循环,并将其索引到字符串中。

您到底有什么问题?你期望得到什么而不是你现在得到的?我想要的结果是:`artis1 | title1 | uri1 artis2 | title2 | uri2 artis3 | title3 | uri3`等等