#python #bash #shell #csv #ubuntu
#python #bash #оболочка #csv #убунту
Вопрос:
С помощью this .sh я могу загрузить файл .csv в Apache Cassandra с помощью загрузчика DSBulk:
export PATH=/home/workstation/dsbulk-1.7.0/bin:$PATH
source ~/.bashrc
dsbulk load -url /home/workstation/ll/datatest.csv -k test_keyspace -t test_data -delim "," -header false
Используя .sh, я создаю графический интерфейс Python для загрузки данных .csv с помощью кнопки. Итак, я реализовал приведенный ниже код. Я могу загружать данные с помощью этой кнопки, но как я могу выбрать файл .csv, который необходимо открыть и загрузить? Я использовал аналогичную функцию по-другому, но не для выбора файла, открытого из .sh.
Это функция кнопки:
def Dataloader():
subprocess.call('./tester.sh', shell=True)
button = Button(window, text=" Load data into APC ", bg="black", fg="white",command=Dataloader)
Какое-то предложение? Где я ошибаюсь?
Спасибо
Комментарии:
1. Я добавил это в файл .sh, чтобы я мог выбрать файл (.csv), но как я могу использовать в команде dsbulk load и т. Д.? file=»$(zenity —title «Выбрать файл» —file-selection)»
2. это дает: Java.io.IOException: Ошибка при создании анализатора CSV для файла: /home/workstation/ll/datatest.csv
Ответ №1:
Решение:
на .sh должно быть написано
echo "you selected $(zenity --file-selection)"
затем для действия потребовался es: dsbulk….