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