Добавление списка номеров в существующий CSV - PullRequest
0 голосов
/ 18 января 2019

Я пытаюсь добавить список номеров в существующий CSV-файл. Кажется, это должно быть легко, но я не могу получить правильный вывод. Например, скажем, test.csv имеет

0,0

1,1

2,2

3,3

4,4

и C=[0,1,2,3,4]

Я хочу сделать это для любого списка длин j, который соответствует количеству строк в тесте. Я хочу, чтобы test.csv было

0,0,0

1,1,1

2,2,2

3,3,3

4,4,4

Любая помощь приветствуется.

спасибо за ваш ответ.

Я попытался сделать это следующим образом:

импорт панд как pd импортировать numpy как np

импорт данных

df = pd.read_csv ('test.csv')

инициализировать список

list_A = [0,1,2,3,4]

изменить список на серию

series_A = pd.Series (list_A)

сохранить серию как столбец данных

df [1] = series_A.values ​​

и был встречен с этим:

Traceback (последний вызов был последним): Файл "", строка 1, в Файл "/usr/lib/python2.7/dist-packages/pandas/core/frame.py", строка 2299, в setitem self._set_item (ключ, значение) Файл "/usr/lib/python2.7/dist-packages/pandas/core/frame.py", строка 2366, в _set_item значение = self._sanitize_column (ключ, значение) Файл "/usr/lib/python2.7/dist-packages/pandas/core/frame.py", строка 2524, в _sanitize_column значение = _sanitize_index (значение, self.index, copy = False) Файл "/usr/lib/python2.7/dist-packages/pandas/core/series.py", строка 2741, в _sanitize_index повысить ValueError ('Длина значений не соответствует длине' ValueError: длина значений не соответствует длине индекса

df [0] = series_A.values Traceback (последний вызов был последним): Файл "", строка 1, в Файл "/usr/lib/python2.7/dist-packages/pandas/core/frame.py", строка 2299, в setitem self._set_item (ключ, значение) Файл "/usr/lib/python2.7/dist-packages/pandas/core/frame.py", строка 2366, в _set_item значение = self._sanitize_column (ключ, значение) Файл "/usr/lib/python2.7/dist-packages/pandas/core/frame.py", строка 2524, в _sanitize_column значение = _sanitize_index (значение, self.index, copy = False) Файл "/usr/lib/python2.7/dist-packages/pandas/core/series.py", строка 2741, в _sanitize_index повысить ValueError ('Длина значений не соответствует длине' ValueError: длина значений не соответствует длине индекса

1 Ответ

0 голосов
/ 18 января 2019

Это довольно легко сделать с Пандами .

Общий процесс:

  • Считать в CSV-файл как панду DataFrame.
  • Изменить список на серии
  • Добавить серию кDataFrame
  • Сохранить DataFrame

Письменный код:

import pandas as pd
import numpy as np

#import data
df = pd.read_csv('Your_Filename.csv')

#initialize list
list_A = np.arange(365)
list_B = np.arange(365)*2

#change list to series
series_A = pd.Series(list_A)
series_B = pd.Series(list_B) 

#save series as dataframe column
df['column_name_A'] = series_A.values
df['column_name_B'] = series_B.values

#save dataframe to csv
df.to_csv('output_filename.csv')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...