2017-01-23 32 views
0

如果这个问题听起来很愚蠢,那么我很抱歉。我正在合并两个csv文件,并且合并的csv文件有一个字段,其中包含逗号和该字段中的值。如何在特定字段中的所有值周围插入引号?在字段中插入引号

import pandas as pd 

first = pd.read_csv('C:/datainput') 
first['project_id'] = 2 
second = pd.read_csv('C:/datainputting') 
second['project_id'] = 1 

merged = pd.concat([first, second], ignore_index = True) 
getting_away = merged.to_csv('C:/datainputcombination.csv', index=False) 

for row in getting_away: 
    row[23] = "'%s'" % row[23] 

print "Data Input all ready to fire" 

错误:

Traceback (most recent call last): 
    File "C:/Users/datainputcombo.py", line 14, in <module> 
    for row in getting_away: 
TypeError: 'NoneType' object is not iterable 

行[23]:

AGG Development, LLC 
RRR Regional, PLLC 
RJH Developers, LLC 
.................... 

回答

2

下面是简单的代码,演示了发生了什么。

>>> import pandas as pd 
>>> df = pd.DataFrame({'a':[1,2,3,4],'b':[4,5,6,7]}) 
>>> getting_away = df.to_csv('aFile.csv') 
>>> getting_away 
>>> 

我做一个简单的数据帧,然后将它作为你没有使用.to_csv写入CSV。此方法的结果存储在getting_away中,但如您所见,它是None。也就是说.to_csv不会返回任何内容,这很有意义,因为它已将结果放入文件中。

1

如果您正在运行与逗号字符问题下游写csv文件,您可以使用此参数打开引用:

merged.to_csv('C:/datainputcombination.csv', quoting=csv.QUOTE_NONNUMERIC)