在字段中插入引号

时间:2017-01-23 16:42:19

标签: python csv

如果这个问题听起来很愚蠢,我很抱歉。我正在合并两个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 个答案:

答案 0 :(得分: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 :(得分:1)

如果您在编写csv文件时遇到下游逗号字符问题,可以使用this参数打开引用:

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