В настоящее время у меня есть написанный код, который будет читать мои локальные файлы .csv и возвращать строки, соответствующие моим критериям, а также редактировать данные, хранящиеся внутри. Я пытаюсь переместить эти данные в файлы .xlsx на Sharepoint, чтобы они обновлялись для нескольких пользователей. Мне удалось использовать request.get()
для доступа к странице, но я получаю сообщение об ошибке, в котором говорится, что таблиц нет. Я знаю, что в целом должны быть некоторые изменения, потому что я перехожу с .csv на .xlsx (я не хотел, но это не позволяло мне редактировать файл .csv в SharePoint, а данные должны быть обновленными), но Я борюсь с тем, почему он, похоже, не получает данные в документе .xslx. Я использую ссылку, полученную при попытке поделиться документом. Я знаю, что мой csv.reader
придется изменить, но я надеялся, что смогу использовать большую часть других частей моего существующего кода.
Код, который я использовал для поиска соответствующих строк:
import csv
import pandas as pd
open_file=csv.reader(open(file,"r"),delimiter=",") #opens the desired file
for row in open_file:
if inputs.lower()==row[column].lower(): # if the name matches that stored in the system
row_list.append(row)
db=pd.DataFrame(row_list,columns=[])
Код, который я использовал для редактирования / удаления данных:
with open(file,"r") as old_data:
read=csv.reader(old_data)
for row in read:
rows.append(row)
if row_choice_vals[0]==row[0] and row_choice_vals[1]==row[1] and row_choice_vals[2]==row[2] and row_choice_vals[3]==row[3] and row_choice_vals[4]==row[4] and row_choice_vals[5]==row[5] and row_choice_vals[6]==row[6] and row_choice_vals[7]==row[7]:
rows.remove(row)
with open(file,"w",newline="\n") as new_data:
write=csv.writer(new_data)
write.writerows(rows)
#then enter code for adding a new row of data (if choosing to edit)
Код для добавления новых данных:
with open("file","a",newline="\n") as file_update:
write=csv.writer(file_update)
write.writerow([information])
Код, который я использую для доступа к Файлы SharePoint:
import requests
import json
from json import loads
import pandas as pd
import io
import urllib
from requests_negotiate_sspi import HttpNegotiateAuth
headers={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36",
"Accept":"application/json"}
tern=requests.get('SharePoint file',auth=HttpNegotiateAuth(),headers=headers)
db=pd.read_html(str(tern.content))
ValueError: No tables found
Я надеюсь, что эта опция будет работать через Sharepoint, но если есть какие-либо альтернативы для хранения данных в Интернете, к которым можно получить доступ через Jupyter, я готов попробовать их. Данные являются проприетарными, поэтому они не могут быть доступны для общего доступа c, что было моей проблемой в Anaconda Cloud.