mirror of
https://git.auk.su/Dinect/bonus-import-tools.git
synced 2025-12-28 18:10:01 +00:00
added description of CSV format
This commit is contained in:
20
README.md
20
README.md
@@ -1,11 +1,23 @@
|
||||
# bonus-import-tools - Приложение для импорта бонусных баллов.
|
||||
# Bonus-import-tools - Приложение для импорта бонусных баллов.
|
||||
|
||||
## Правила заполнения входного CSV файла
|
||||
|
||||
- Кодировка файла : UTF-8
|
||||
- Разделитель полей : , [Запятая]
|
||||
- Разделитель разрядов: . [Точка]
|
||||
- Номер телефона = 12 символов в формате: +7XXXXXXXXXX [+76543210987]
|
||||
- Формат даты : YYYY-MM-DD [2002-03-11]
|
||||
- Формат времени : HH:MM:SS [21:05:36]
|
||||
- Первая строка - названия полей
|
||||
|
||||
Значения не должны содержать специальных символов.
|
||||
|
||||
## Пример файла
|
||||
|
||||
```csv
|
||||
nickname, card, phone, summ_total, summ_discount, sum_with_discount, bonus_amount, transaction_date, transaction_time,
|
||||
Иван Петров,654897321321,+78906543210,12345.67,123.56,12222.11,121,,,
|
||||
Иван Иванов,654897321123,+78906233212,345.67,45.00,300.67,12,,,
|
||||
nickname, card, phone, summ_total, summ_discount, sum_with_discount, bonus_amount, transaction_date, transaction_time
|
||||
Иван Петров,654897321321,+78906543210,12345.67,123.56,12222.11,121,2002-03-11,21:05:36
|
||||
Иван Иванов,654897321123,+78906233212,345.67,45.00,300.67,12,2002-03-12,01:05:36
|
||||
```
|
||||
|
||||
|
||||
|
||||
28
app.py
28
app.py
@@ -36,28 +36,28 @@ for f in files:
|
||||
with open(f, "r", encoding="utf-8") as csv_file:
|
||||
csv_reader = csv.reader(csv_file, delimiter=',')
|
||||
line_count = 0
|
||||
name, wallet, value = '', '', ''
|
||||
for row in csv_reader:
|
||||
if line_count == 0:
|
||||
line_count += 1
|
||||
else:
|
||||
name, wallet, value = row[0].strip(), row[1].strip(), row[2].strip()
|
||||
value = value.replace(',', '.')
|
||||
value = value.replace(chr(160), '')
|
||||
if value == '0':
|
||||
value = ''
|
||||
line_count += 1
|
||||
try:
|
||||
nickname, card, phone, summ_total, summ_discount, sum_with_discount, bonus_amount, transaction_date, transaction_time = row
|
||||
print(f'Processing line {line_count}: {row}')
|
||||
line_count += 1
|
||||
except ValueError as e:
|
||||
ret = f'error in line: [{line_count}] {repr(e)}'
|
||||
log_file.write(f'{ret}\n')
|
||||
|
||||
ret = 'no tx'
|
||||
if len(wallet) > 0 and len(value) > 0:
|
||||
# wallet = w3.toChecksumAddress(wallet.lower())
|
||||
# ret = send_joys(c.sender_wallet, _key, wallet, value)
|
||||
# name, wallet, value = row[0].strip(), row[1].strip(), row[2].strip()
|
||||
# value = value.replace(',', '.')
|
||||
# value = value.replace(chr(160), '')
|
||||
# if value == '0':
|
||||
# value = ''
|
||||
|
||||
print(name, wallet, value)
|
||||
# log_file.write(f'{wallet}{chr9}{value}{chr9}{ret}\n')
|
||||
log_file.write(f'{ret}\n')
|
||||
# log_file.write(f'{ret}\n')
|
||||
|
||||
csv_file.close()
|
||||
log_file.close()
|
||||
|
||||
os.rename(f, f + '.old')
|
||||
# os.rename(f, f + '.old')
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
org_id,user_id,date_time,balance_up, balance_down
|
||||
8545,6548,"19920,53","19920,53",
|
||||
,,,,
|
||||
Reference in New Issue
Block a user