2017-09-26 120 views
0

输入:csv文件。 采样数据如何使用python将多行csv文件放入单行中

id,name,gnd,address,second_name. 
"100","xx","m","plot y zzzz city","zx 
yddfe" 

输出:csv文件。

id,name,gnd,address,second_name. 
"100","xx","m","plot y zzzz city","zxyddfe" 

在源文件最后一列数据被分成两行,我想成单行来加载数据。

我尝试:

import csv 

with open("out.csv","w") as fout: 
    with open("sample.csv")as f: 
    firsttline = "" 
    for line in f: 
     if not line.startswith('"'):continue 
     else: 
      line = line.rstrip('\n') 
      firstline = firstline + '\n'+ line 
    print >> fout, firstline 
    with open ("out.csv") as fin: 
     with open("out1.csv","w") as fout1: 
      for line in fin: 
       if not line.isspace(): 
       fout1.write(line) 

使用此代码,我没有得到正确的记录计数后。一些列的数据丢失了。请帮助我。

+0

通过执行“继续”,您将错过部分数据。在这个例子中是'yddfe'。做'firstline = firstline + line.rstrip('\ n')'而不用'\ n'之间。 – SBylemans

+0

为什么不使用csv模块自动处理引用字段内的新行? –

回答

0

这将这样的伎俩:

import pandas as pd 
df = pd.DataFrame.from_csv('data.csv') 

输出看起来像

name gnd   address second_name. 
id           
100 xx m plot y zzzz city zx\r\n yddfe 

更多有关pandas。 用熊猫阅读和编写.csv文件非常简单。我总是喜欢他们而不是csv库。

+0

无法使用熊猫我需要一个解决方案是否有任何其他方法? – manyatha

+0

'pandas'是一个过量的 –

+0

但非常容易使用 – Albo

相关问题