Записать в столбце файла в формате csv после n строк? - PullRequest
0 голосов
/ 24 ноября 2018

Я новичок в питоне.У меня проблемы с работой с CSV-файлом.Это файл с 12 строками заголовка и после запуска данных.Я должен прочитать некоторые данные из столбцов (это нормально), и после проработки я должен добавить в тот же файл столбец со значением в каждой строке, но без идентификатора в первом столбце, и столбец должен был начинатьсяиз 13-й строки, а не из первой.

Я пытался использовать библиотеку панд, но она не работает

df = pd.read_csv("./1540476113.gt.tie")
df["package"] = pd.Series(packages)
df.to_csv("./1540476113.gt.tie", sep = "\t")

, где package - это имя столбца (но я знаю,также индекс), а пакеты - это массив строк (элементы, которые я должен написать).Этот код работает, но начинает добавлять из первой строки (я не знаю, как я могу установить смещение) и добавить в файл индекс в первом столбце (не требуется) и символ 'перед каждым элементом.sep - это разделитель каждого столбца.

Пример входных данных:

# TIE output version: 1.0 (text format)
# generated by: . -a ndping_1.0 -r /home/giuseppe/Scrivania/gruppo30/1540476113/traffic.pcap

# Working Mode: off-line
# Session Type: biflow
# 1 plugins enabled: ndping

# begin trace interval: 1540476116.42434

# begin TIE Table
# id    src_ip          dst_ip          proto   sport   dport   dwpkts  uppkts  dwbytes upbytes t_start                 t_last                  app_id  sub_id  app_details     confidence
17      192.168.20.105  216.58.205.42   6       50854   443     8       9       1507    1728    1540476136.698920       1540476136.879543       501     0       Google  100
26      192.168.20.105  151.101.66.202  6       40107   443     15      18      5874    1882    1540476194.196948       1540476204.641949       501     0       SSL_with_certificate    100
27      192.168.20.105  31.13.90.2      6       48133   443     10      15      4991    1598    1540476194.218949       1540476196.358946       501     0       Facebook        100

Пример выходных данных:

# TIE output version: 1.0 (text format)
# generated by: . -a ndping_1.0 -r           /home/giuseppe/Scrivania/gruppo30/1540476113/traffic.pcap 

# Working Mode: off-line
# Session Type: biflow 
# 1 plugins enabled: ndping 

# begin trace interval: 1540476116.42434

# begin TIE Table
# id    src_ip      dst_ip      proto   sport   dport   dwpkts  uppkts  dwbytes upbytes t_start         t_last          app_id  sub_id  app_details confidence  package
17  192.168.20.105  216.58.205.42   6   50854   443 8   9   1507    1728    1540476136.698920   1540476136.879543   501 0   Google  100  N/C    
26  192.168.20.105  151.101.66.202  6   40107   443 15  18  5874    1882    1540476194.196948   1540476204.641949   501 0   SSL_with_certificate    100 com.joelapenna.foursquared
27  192.168.20.105  31.13.90.2  6   48133   443 10  15  4991    1598    1540476194.218949   1540476196.358946   501 0   Facebook    100 com.joelapenna.foursquared  
38  192.168.20.105  13.32.71.69 6   52108   443 9   12  5297    2062    1540476195.492946   1540476308.604998   501 0   SSL_with_certificate    100 com.joelapenna.foursquared
0   34.246.212.92   192.168.20.105  6   443 37981   3   2   187 98  1540476116.042434   1540476189.868844   0   0   Other TCP   0   N/C
29  192.168.20.105  13.32.123.222   6   36481   443 11  15  6638    1914    1540476194.376945   1540476308.572998   501 0   SSL_with_certificate    100 com.joelapenna.foursquared  
31  192.168.20.105  8.8.8.8 17  1219    53  1   1   253 68  1540476194.898945   1540476194.931198   501 0   DNS 100

Мне все равно, алимен, разделителькаждого столбца является '\ t'.

1 Ответ

0 голосов
/ 24 ноября 2018

Вы можете перейти к данным, передав несколько аргументов read_csv.

df = pd.read_csv("./1540476113.gt.tie", header=None, skiprows=12)
df["package"] = pd.Series(packages)
df.to_csv("./1540476113.gt.tie", sep = "\t")

Затем явно укажите ваши столбцы:

df.columns = [col_names]

Если 13-я строка является строкой заголовкас именами столбцов, которые вы хотите, не передавайте аргумент header=None.

Ознакомьтесь с другими документами здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...