将数字列表添加到现有的csv

时间:2019-01-18 15:55:40

标签: python pandas list csv

我正在尝试将数字列表添加到现有的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

并对此表示欢迎:

回溯(最近通话最近):   文件“”,第1行,位于    setitem 中的文件“ /usr/lib/python2.7/dist-packages/pandas/core/frame.py”,第2299行     self._set_item(键,值)   _set_item中的文件“ /usr/lib/python2.7/dist-packages/pandas/core/frame.py”,第2366行     值= self._sanitize_column(键,值)   _sanitize_column中的文件“ /usr/lib/python2.7/dist-packages/pandas/core/frame.py”,第2524行     值= _sanitize_index(值,self.index,复制= False)   _sanitize_index中的文件“ /usr/lib/python2.7/dist-packages/pandas/core/series.py”,第2741行     引发ValueError('值的长度与'的长度不匹配' ValueError:值的长度与索引的长度不符

  
    
      

df [0] = series_A.values       追溯(最近一次通话):         文件“”,第1行,位于          setitem 中的文件“ /usr/lib/python2.7/dist-packages/pandas/core/frame.py”,第2299行           self._set_item(键,值)         _set_item中的文件“ /usr/lib/python2.7/dist-packages/pandas/core/frame.py”,第2366行           值= self._sanitize_column(键,值)         _sanitize_column中的文件“ /usr/lib/python2.7/dist-packages/pandas/core/frame.py”,第2524行           值= _sanitize_index(值,self.index,复制= False)         _sanitize_index中的文件“ /usr/lib/python2.7/dist-packages/pandas/core/series.py”,第2741行           引发ValueError('值的长度与'的长度不匹配'       ValueError:值的长度与索引的长度不符

    
  

1 个答案:

答案 0 :(得分:1)

使用Pandas相当容易。

一般流程:

  • 以熊猫DataFrame的形式读取CSV文件。
  • 将列表更改为系列
  • 将系列附加到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')