Форум программистов, компьютерный форум, киберфорум
Python: Сети
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 24.06.2016
Сообщений: 2

Python пихаем csv файл в Influxdb

16.05.2018, 16:18. Показов 1623. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вопрос к знатокам, да и в целом кто может помочь.
при запуске возникает ошибка
line not save
string indices must be integers, not str
Видимо я сильно туплю, но не могу вдуплить в чем проблема

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
import argparse
import csv
import os
from influxdb import InfluxDBClient
import zipfile
import itertools
 
 
 
PATH = '.\\....zip'
MEASUREMENT = 'all'
TAGS = ('name','form_id')
FIELDS = {'reqh':int, 'users':int,}
DELIMIIER = ';'
 
client = InfluxDBClient(host='...', port=8086, username='...', password='....', database='....')
 
def translate_label(a):
    if 'NFLX query email password' in a['name']:
        return None
    if 'Set Start Annotation' in a['name']:
        return None
    if 'STS ADD message_id.csv' in a['name']:
        return None
    if 'STS READ' in a['name']:
        return None
    a['name'] = a['name'].replace('<_','').strip('-').strip('.').strip()
    #a['responseMessage'] = a['responseMessage'].replace('Non HTTP response code: ','')
    return a
 
 
def dict2db(ln, project_name, tags, fields):
    json_body = {
            'measurement': MEASUREMENT,
            'tags': dict([(t,ln.get(t,'')) for t in tags]),
            'time': ln.get('timeStamp','0'),
            'fields': dict([(f, fields[1][f](ln.get(f,'0'))) for f in fields])
    }
    return json_body
def import_db(path2file, project_name_tbl, tags, fields, chunk = 10000, translate_label={}):
    
   
    counter = 0
    lst = []
    if zipfile.is_zipfile(path2file):
        zp = zipfile.ZipFile(path2file, mode='r')
        memberlist = [fn for fn in zp.namelist() if not fn.endswith('/') ]
        for name_file in memberlist:
            if not name_file.endswith('.csv'):
                continue
            with zp.open(name_file, 'r') as csvfile:
                reader = csv.DictReader(csvfile, delimiter=DELIMIIER)
                
                for i, val in enumerate(reader):
                    try:
                        val = translate_label(val)
                        if val is None:
                            continue
 
                        val['timeStamp'] = i
                    
                        lst.append(dict2db(val, project_name_tbl, tags, fields))
                    except Exception as e:
                        print ('line not save')
                        print (val)
                        print (e)
                        print ("+"*40)
                    counter+=1
                    # заливаем файл в базу частями, т.к. построчно - это очень долго, а весь файл целом 
                    if counter%chunk == 0:
                        client.write_points(lst)
                        lst = []
                        print ('.'),
        # заливаем последную часть данных
        if lst !=[] :
            client.write_points(lst)
            lst = []
            print ('the end')
            print (counter)
 
 
import_db(PATH, MEASUREMENT, FIELDS, TAGS, chunk = 1000, translate_label=translate_label)
 
print 'Done'
 
from os import system
system("pause")
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.05.2018, 16:18
Ответы с готовыми решениями:

Анализ данных в Python, CSV файл
Есть такой код который я сама написала, и CSV файл(который я не могу прикрепить сюда как CSV) с данными об использовании велодорожек.Файл...

Чтение COM порта на python и сохранение данных в csv файл
Добрый день. К ардуино подключен акселерометр, используется COM3. В мониторе порта выводятся данные по трем осям. Теперь пытаюсь...

Вам доступен csv файл data.csv, содержащий информацию в csv формате.Напишите функцию read_csv для чтения данных из файла
Вам доступен CSV-файл data.csv, содержащий информацию в csv формате. Напишите функцию read_csv для чтения данных из этого файла. Она должна...

1
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
16.05.2018, 17:54
FalseHas, вроде ясно написано.
Пытаетесь взять у строки нечто по строковому индексу. Сие не имеет смысла, только integer.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.05.2018, 17:54
Помогаю со студенческими работами здесь

Программирование на python Как в файл csv преобразовать в цисленный тип?
Как в файл csv преобразовать в цисленный тип? import csv import pandas as pd import numpy as np

Как вывести пиксели всех картинок в csv файл через python
я хочу картинки перевести в пиксели. я делаю так from PIL import Image im = Image.open('image.jpg') pixels = list(im.getdata())...

Python.csv.library создать функции удаления и редактирования данных о книге, хранящихся в csv
консольный интерфейс предполагает нажатие 1-5 клавиш со следующим функционалом: 1 - выводит список книг 2 - добавляет данные о новой...

Поиск строк с нужным словом в файле .csv и перезапись этих строк в новый файл Python
Добрый день. Господа программисты, нужна Ваша помощь. Возникла необходимость написать программный код на языке Python, но я 2 года...

Запись в CSV-файл из массива. Не является форматом csv!
В общем искал работу... Дали тестовое написать парсер для сайта с выводом информации в csv-файл. Всё написал, сбросил, пришёл ответ что у...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru