df[df.name.str.contains('i3|oem', regex=True, case=False)])
df = pd.DataFrame({
'name':['23i3f','dOemf','25','s2f5','df5'],
'amount':[1,2,3,4,5]
})
print(df[df.name.str.contains('i3|oem',regex=True,flags=re.IGNORECASE)])
import pandas as pd
df = pd.DataFrame(data)
df.to_csv('file.csv')
Гуглил, находил информацию только уже через собранные данные в словаре/массиве, а не циклично дописывались постоянноНу так правильно у данных должна быть структура соответствующая что бы в excel писалось по столбцам. еще удобнее это создавать новый pandas фрейм в цикле (для каждых новых данных) и добавлять через него в excel. У него есть метод to_excel у него есть параметр mode там можно поставить 'a' что бы файл не перезаписывался а строки добавлялись туда, а также параметр header его можно поставить в False что бы имена столбцов не писались и других куча что бы проблем не возникло. Примеров документация статьи в интернете.
df.to_csv(r'C:\pythonProject5\my_data.csv',mode='a',header=False)
columns = df.columns
empty_df = pd.DataFrame(columns=columns)
empty_df.to_csv(r'C:\pythonProject5\my_data.csv')
dfs = []
for i in range(длина):
Здесь вы сравниваете и создаете датафрефм но вместо записи его в файл добавляете в список
dfs.append(df)
final_df = pd.concat(dfs,ignore_index=True)
final_df.to_csv()
from bs4 import BeautifulSoup
import re
text = '''
<input id="ctl00_ContentPlaceHolder1_grdProducts_ctl00_ctl05_EditFormControl_tbValidityPeriod"/> # подходит
<input id="ctl00_ContentPlaceHolder1_grdProducts_ctl00_ctl07_EditFormControl_tbValidityPeriod"/> # подходит
<input id="ctl00_ContentPlaceHolder1_grdProducts_ctl02_ctl11_EditFormControl_tbValidityPeriod"/> # не подходит
<input id="ctl00_ContentPlaceHolder1_grdProducts_ctl00_ctl09_EditFormControl_tbValidityPeriod"/> # подходит
<input id="ctl00_ContentPlaceHolder1_grdProducts_ctl00_ctl11_EditFormControl_tbValidityPeriod"/> # подходит
<input id="ctl00_ContentPlaceHolder1_grdProducts_ctl01_ctl11_EditFormControl_tbValidityPeriod"/> # не подходит
'''
substring = 'ctl00_ContentPlaceHolder1_grdProducts_ctl00_ctl' # подстрока
soup = BeautifulSoup(text, 'html.parser')
result = soup.find_all('input',{'id':re.compile(substring)})
print(result)
res = ', '.join([f"{key}={float(value)}" for key, value in d.items()])
class Products:
id = 1
def __init__(self, name: str, firma: str, category: str, price: int) -> None:
self.id = Products.id
self.name = name
self.firma = firma
self.category = category
self.price = price
Products.id += 1
def __str__(self) -> str:
return f'''
Id: {self.id}
Name: {self.name}
Firma: {self.firma}
Category: {self.category}
Price: {self.price}'''
technic = [
Products('Холодильник', 'LG', 'кухонная техника', 70600),
Products('Утюг', 'HIER', 'гладильная техника', 53450)
] + [
Products('Посудомоечная машина', 'LERAN', 'кухонная техника', 22000) for i in range (5)
]
def read_csv(filename): #зачем у вас в оригинале параметр data если вы его не используете логичнее передавать имя файла.
with open(filename, encoding='utf-8') as file:
reader = csv.reader(file)
data = list(reader)
return data
data = read_csv('urls.csv')
flat_list = [item for sublist in data for item in sublist]
import datetime
start = datetime.time(6, 30) # 6:30 утра
end = datetime.time(13, 30) # 13:30 дня
now = datetime.datetime.now().time()
if (start <= now <= end):
print("Work!")