Python Pandas Чтение из столбцов A и B вместо имени столбца

Я относительно новичок в python У меня есть файл excel, где я могу прочитать столбец A «URL» и столбец B «имя».

В будущем у столбцов не будет «имени столбца», поэтому мне нужно, чтобы он читал напрямую из столбца A и столбца B и начинал итерацию с ячейки 1.

Я пытался использовать index_col(0), но не могу понять. Это простой скрипт загрузки изображения.

import requests
import pandas as pd


df = pd.read_excel(r'C:\Users\exdata1.xlsx')

for index, row in df.iterrows():
 url = row['url']
 file_name = url.split('/')
r = requests.get(url)  

file_name=(row['name']+".jpeg") 

if r.status_code == 200:
 with open(file_name, "wb") as f:
  f.write(r.content)
  print (file_name)

Я попробовал это ниже без какого-либо хорошего результата.

url = row['index_col(0)'] #0 for excel column "A"
file_name=(row['index_col(1)']+".jpeg")  #1 for excel Column "B"

Ценю любую поддержку!

row['index_col(0)'] поиск в столбце с именем index_col(0); row[index_col(0)] поиск в столбце 0.

Jackhein Teodreï 21.11.2022 11:34
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
1
67
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Вы можете установить header=None в качестве аргумента pandas.read_excel и дать имена своим столбцам.

Попробуй это :

import requests
import pandas as pd
  
df = pd.read_excel(r'C:\Users\exdata1.xlsx', header=None, names=['url', 'name'])

for index, row in df.iterrows():
    url = row['url']
    file_name = url.split('/')
    r = requests.get(url)  
    file_name=(row['name']+'.jpeg') 

    if r.status_code == 200:
        with open(file_name, 'wb') as f:
            f.write(r.content)
            print(file_name)

Если в ваших файлах нет имен столбцов, панды присваивают значения каждому столбцу, например Unnamed: 0, вы можете проверить, что py печатает df.info или df.head()

вы можете назначать имена столбцов при чтении из вашего файла, чтобы у вас всегда было имя столбца df:

df.rename( columns = {"Unnamed: 0" :'url', Unnamed: 0: 'name'}, inplace=True )

тогда вы можете идти.

Другие вопросы по теме