mirror of
https://git.auk.su/Dinect/bonus-import-tools.git
synced 2025-12-29 02:20:02 +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
|
```csv
|
||||||
nickname, card, phone, summ_total, summ_discount, sum_with_discount, bonus_amount, transaction_date, transaction_time,
|
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,,,
|
Иван Петров,654897321321,+78906543210,12345.67,123.56,12222.11,121,2002-03-11,21:05:36
|
||||||
Иван Иванов,654897321123,+78906233212,345.67,45.00,300.67,12,,,
|
Иван Иванов,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:
|
with open(f, "r", encoding="utf-8") as csv_file:
|
||||||
csv_reader = csv.reader(csv_file, delimiter=',')
|
csv_reader = csv.reader(csv_file, delimiter=',')
|
||||||
line_count = 0
|
line_count = 0
|
||||||
name, wallet, value = '', '', ''
|
|
||||||
for row in csv_reader:
|
for row in csv_reader:
|
||||||
if line_count == 0:
|
if line_count == 0:
|
||||||
line_count += 1
|
line_count += 1
|
||||||
else:
|
else:
|
||||||
name, wallet, value = row[0].strip(), row[1].strip(), row[2].strip()
|
try:
|
||||||
value = value.replace(',', '.')
|
nickname, card, phone, summ_total, summ_discount, sum_with_discount, bonus_amount, transaction_date, transaction_time = row
|
||||||
value = value.replace(chr(160), '')
|
print(f'Processing line {line_count}: {row}')
|
||||||
if value == '0':
|
line_count += 1
|
||||||
value = ''
|
except ValueError as e:
|
||||||
line_count += 1
|
ret = f'error in line: [{line_count}] {repr(e)}'
|
||||||
|
log_file.write(f'{ret}\n')
|
||||||
|
|
||||||
ret = 'no tx'
|
# name, wallet, value = row[0].strip(), row[1].strip(), row[2].strip()
|
||||||
if len(wallet) > 0 and len(value) > 0:
|
# value = value.replace(',', '.')
|
||||||
# wallet = w3.toChecksumAddress(wallet.lower())
|
# value = value.replace(chr(160), '')
|
||||||
# ret = send_joys(c.sender_wallet, _key, wallet, value)
|
# if value == '0':
|
||||||
|
# value = ''
|
||||||
|
|
||||||
print(name, wallet, value)
|
|
||||||
# log_file.write(f'{wallet}{chr9}{value}{chr9}{ret}\n')
|
# 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()
|
csv_file.close()
|
||||||
log_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