Ошибка в Pandas и OpenPyxl - «Значение должно быть либо численным, либо строкой, содержащей подстановочный знак»Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Ошибка в Pandas и OpenPyxl - «Значение должно быть либо численным, либо строкой, содержащей подстановочный знак»

Сообщение Anonymous »

Я сталкиваюсь с проблемой при чтении файла Excel с помощью Pandas и OpenPyxl. Сообщение об ошибке, которое я получаю: < /p>

Код: Выделить всё

ValueError: Value must be either numerical or a string containing a wildcard
Эта ошибка поднимается из файла filters.py в библиотеке OpenPyxl во время выполнения Pd.read_excel () .
Я пытаюсь прочитать файл Excel, обработать данные и отфильтровать его на основе определенных условий. Я попытался сделать различные подходы к обработке нечисленных значений в столбце «Код телефона», но ошибка сохраняется. < /P>
import pandas as pd
import openai
import os

# Set your OpenAI GPT-3 API key
openai.api_key = 'key'

# Load the Excel file
file_path = r'C:\Users\ivatu\Downloads\iglistaff.xlsx'
df = pd.read_excel(file_path)

# Function to identify names using GPT-3
def identify_names(full_name):
response = openai.Completion.create(
engine="text-davinci-002",
prompt=f"Identify names in {full_name}.",
max_tokens=50
)
return response.choices[0].text.strip()

# Handle non-numeric values in the "Phone country code" column
df['Phone country code'] = df['Phone country code'].apply(lambda x: str(x) if str(x).isnumeric() else '0')

# Retry reading the Excel file with the updated dtype
df = pd.read_excel(file_path)

# Apply GPT-3 to identify names and replace non-obvious names with "Coach"
df['Full name'] = df['Full name'].apply(lambda name: identify_names(name) if not name.replace(" ", "").isalpha() else name)
df['Full name'] = df['Full name'].apply(lambda name: "Coach" if "Coach" in name else name)

# Filter the data based on the condition
filtered_data = df[(df['Followers count'] > 1000) &
(df['Phone country code'].apply(lambda x: str(x) in ['1', '44', '0'])) &
(df['Is private'] == 'NO')]

# Extract the required columns
extracted_data = filtered_data[['Username', 'Full name', 'Followers count']]

output_folder = os.path.join(os.path.expanduser("~"), "Downloads", "output_path_folder")
os.makedirs(output_folder, exist_ok=True)

# Save the extracted data to a new Excel file in the output folder
output_path = os.path.join(output_folder, 'output_file.xlsx')
extracted_data.to_excel(output_path, index=False)

print("Extraction and filtering completed. Results saved to:", output_path)
< /code>
Я использую Pandas версию X.X.x и openpyxl version y.y.y.
Ошибка связана с файлом filters.py в библиотеке OpenPyxl.
У меня не нулевые значения в колонке «Chole Country», и я пытаюсь справиться с ними, конвертируя их в 0 '. /> Я рассчитываю прочитать файл Excel, обрабатывать немамеричные значения в указанном столбце и продолжить дальнейшую обработку без столкновения с упомянутой ошибкой.>

Подробнее здесь: https://stackoverflow.com/questions/778 ... ring-conta
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»