Как читать файл Excel построчно и передавать его в команде curl? - PullRequest
1 голос
/ 13 мая 2019

Итак, я пытаюсь прочитать файл Excel и передать его в команду curl.Так что в моей команде curl мне нужно 4 вещи.Мне нужно имя, путь, имя и формат.

Так что для запуска этого скрипта все, что мне нужно сделать, - это проанализировать файл Excel.Он должен получить данные, анализируя их по столбцам.Итак, в столбце у меня есть заголовки, такие как имя, путь и формат.Я пытаюсь сделать так, чтобы он читал столбец, брал оттуда данные и отправлял их в команду curl.Как только он проходит, он должен перейти к следующему ряду и делать то же самое, пока не дойдет до конца.

Итак, по моей команде curl я знаю проблему, которую нужно исправить.В данный момент меня не волнует команда curl.Я больше беспокоюсь о том, как получить данные и отправить их в команду curl.

Я получил лист Excel с помощью панд.как только я сделал это, я добавил каждый столбец в массив.Затем в моей команде curl, я пытаюсь передать это.

Я использую * в своем URL и пользователе и передаю по соображениям конфиденциальности.Как я уже сказал, я не беспокоюсь о команде curl.Я пытаюсь исправить свой код при получении данных и отправке их в команду curl.

import requests
import json
import pprint
import urllib
import sys
import pandas as pd

path='data.xlsx'
excel=pd.read_excel(path)
name = []
path = []
Tname = []
formatG = []
for cell in excel:
    name.append(cell[:0]),
    path.append(cell[:1]),
    Tname.append(cell[:2]),
    formatG.append(cell[:3])

url='*'
data={
           'name':'{}'.format(name),
           'path':'{}'.format(path),
           'TName':'{}'.format(Tname),
           'formatG':'{}'.format(formatG)           
     }

djson=json.dumps(data)
headers={'content-type':'application/json','Authorization':'token' {}.format(fk)}
response=requests.post(url,data=data_json,headers=headers)
pprint.pprint(response.json())

Ответы [ 2 ]

0 голосов
/ 13 мая 2019

Попробуйте это.

data_list = []
for cell in excel: data_list.append({'name':cell[:0],'path':cell[:1]),'TName':cell[:2]),'formatG':cell[:3]})
url='*'
headers={'content-type':'application/json','Authorization':'token' {}.format(fk)}
for i in data_list: response=requests.post(url,data=i,headers=headers)

Дайте мне знать, если это сработало.

0 голосов
/ 13 мая 2019

если у вас есть файл csv с разделенными запятыми данными, как показано ниже, например:

name,path,Tname,formatG
tom,vv,teto,mp4
mane,bb,memo,png

тогда вы можете использовать код как показано ниже:

data = []
with open('myfile.txt') as f:
    for line in f:
        data.append(line.strip().split(','))

data = data[1:]  # get the data without the first row which is data headers
print(data)

for entry in data:  
    name, path, Tname, formatG = entry
    # do your curl stuff

данные выглядят так:

[['tom', 'vv', 'teto', 'mp4'], ['mane', 'bb', 'memo', 'png']]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...