我正在尝试将数字列表添加到现有的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:值的长度与索引的长度不符
答案 0 :(得分:1)
使用Pandas相当容易。
一般流程:
书面代码:
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')