#python #pandas #dataframe #csv #url
#python #pandas #фрейм данных #csv #url
Вопрос:
Я пытаюсь сравнить определенные записи в csv с помощью python pandas. К сожалению, он не может обнаружить записи с точным URL. Для дальнейшего объяснения найдите приведенный ниже код
def find_function_name(self,file_path,line):
fn_data = pd.read_csv(constant.MAP_PARSER_FILE)
print(fn_data.head())
print(file_path)
print(line)
function_details=fn_data.loc[(fn_data['Filepath'] == 'C:UsersPATHTOFOLDERModelWireless.php')]
print(function_details)
sys.exit()
Структура CSV, как показано ниже
Filepath FunctionName StartLine EndLine
C:UsersPATHTOFOLDERModelWireless.php getSampleThroughput 2174 2231
C:UsersPATHTOFOLDERModelWireless.php getSampleThroughput 205 351
C:UsersPATHTOFOLDERModelWireless.php getSampleThroughput 361 439
C:UsersPATHTOFOLDERModelWireless.php getSampleThroughput 449 528
C:UsersPATHTOFOLDERModelWireless.php getSampleThroughput 532 802
Могу ли я узнать, чего не хватает в моем коде для правильного сравнения.
Комментарии:
1. Вы сравниваете
FunctionName
столбец с путем вместоFilepath
столбца.2. @Hasnat Я изменил вопрос
Ответ №1:
Вы можете сравнить следующим образом. Я думаю, вы можете сравнить его со столбцом Filepath вместо functionName.
function_details = fn_data[fn_data['Filepath'] == r'C:UsersPATHTOFOLDERModelWireless.php']
Комментарии:
1. Я изменил код, и затем он не показывает никаких записей, возвращая пустой фрейм данных.
2. Я думаю, что проблема связана с обратной косой чертой в url
3. Получена эта ошибка SyntaxError: (ошибка unicode) кодек ‘unicodeescape’ не может декодировать байты в позиции 2-3: усеченный UXXXXXXXX escape
4. Попробуйте использовать
r'C:UsersPATHTOFOLDERModelWireless.php'
или'C:\Users\PATH\TO\FOLDER\Model\Wireless.php'
5. Мне нужно отфильтровать то же самое с большим количеством условий function_details=fn_data.loc[(fn_data[‘Filepath’] == r'{}’.format(file_path)) amp; (fn_data[‘StartLine’].ge(2174))]