#python #sql #powerbi #powerquery #m
#python #sql #powerbi #powerquery #m
Вопрос:
Я хотел бы выполнить простой скрипт python в Power BI для SQL dataframe. Но ошибка, похоже, указывает на то, что таблица SQL была прочитана как файл CSV, и я не знаю, почему скрипт рассматривает фрейм данных как файл CSV, а не как фрейм данных SQL.
Сценарий python :
import pandas as pd
dataset['COD-MARQ'] = dataset['COD-MARQ'].str.strip()
Есть идеи о том, как я могу обработать?
Спасибо
Traceback (most recent call last):
File "PythonScriptWrapper.PY", line 7, in <module>
df1 = pandas.read_csv('input_df_da064532-6620-4e48-a091-ff580b127759.csv')
File "C:UsersafalieresAppDataLocalProgramsPythonPython38-32libsite-packagespandasioparsers.py", line 686, in read_csv
return _read(filepath_or_buffer, kwds)
File "C:UsersafalieresAppDataLocalProgramsPythonPython38-32libsite-packagespandasioparsers.py", line 458, in _read
data = parser.read(nrows)
File "C:UsersafalieresAppDataLocalProgramsPythonPython38-32libsite-packagespandasioparsers.py", line 1186, in read
ret = self._engine.read(nrows)
File "C:UsersafalieresAppDataLocalProgramsPythonPython38-32libsite-packagespandasioparsers.py", line 2145, in read
data = self._reader.read(nrows)
File "pandas_libsparsers.pyx", line 847, in pandas._libs.parsers.TextReader.read
File "pandas_libsparsers.pyx", line 862, in pandas._libs.parsers.TextReader._read_low_memory
File "pandas_libsparsers.pyx", line 941, in pandas._libs.parsers.TextReader._read_rows
File "pandas_libsparsers.pyx", line 1073, in pandas._libs.parsers.TextReader._convert_column_data
File "pandas_libsparsers.pyx", line 1119, in pandas._libs.parsers.TextReader._convert_tokens
File "pandas_libsparsers.pyx", line 1194, in pandas._libs.parsers.TextReader._convert_with_dtype
File "pandas_libsparsers.pyx", line 1814, in pandas._libs.parsers._try_int64
MemoryError: Unable to allocate 64.0 KiB for an array with shape (8192,) and data type int64
Détails :
DataSourceKind=Python
DataSourcePath=Python
Message=Ρŷтнőŋ şсŗĩрţ εггǿŗ.
Traceback (most recent call last):
File "PythonScriptWrapper.PY", line 7, in <module>
df1 = pandas.read_csv('input_df_da064532-6620-4e48-a091-ff580b127759.csv')
File "C:UsersafalieresAppDataLocalProgramsPythonPython38-32libsite-packagespandasioparsers.py", line 686, in read_csv
return _read(filepath_or_buffer, kwds)
File "C:UsersafalieresAppDataLocalProgramsPythonPython38-32libsite-packagespandasioparsers.py", line 458, in _read
data = parser.read(nrows)
File "C:UsersafalieresAppDataLocalProgramsPythonPython38-32libsite-packagespandasioparsers.py", line 1186, in read
ret = self._engine.read(nrows)
File "C:UsersafalieresAppDataLocalProgramsPythonPython38-32libsite-packagespandasioparsers.py", line 2145, in read
data = self._reader.read(nrows)
File "pandas_libsparsers.pyx", line 847, in pandas._libs.parsers.TextReader.read
File "pandas_libsparsers.pyx", line 862, in pandas._libs.parsers.Tex...
ErrorCode=-2147467259
ExceptionType=Microsoft.PowerBI.Scripting.Python.Exceptions.PythonScriptRuntimeException ```
Комментарии:
1. Можете ли вы опубликовать последние несколько строк обратной трассировки, где обычно отображается ошибка?
2. Спасибо за ответ! Я обновил сообщение со всем сообщением об ошибке. Я надеюсь, что это поможет вам
Ответ №1:
Я не уверен, что это проблема, но мне кажется dataset
, что это относится к предыдущему шагу, а не к исходному источнику, что означает, что он больше не находится в формате SQL dataframe. Вероятно, вы хотите либо импортировать исходный код с помощью python, либо изменить свой скрипт, чтобы обрабатывать набор данных не как SQL dataframe, а в любом формате, который редактор запросов передает скрипту python (который, я думаю, является фреймом данных pandas).
Отдельно отметим, что в данном конкретном случае кажется ненужным использовать python для простого преобразования, которое так же легко можно выполнить изначально в M.
Комментарии:
1. Спасибо за ответ! Я новичок в Power BI. Исходным источником является SQL dataframe, и я хочу применить к нему более крупный скрипт Python. Эта строка — просто тест. Я импортировал фрейм данных SQL, нажав «Получить данные», затем «База данных SQL Azure»