在python csv reader中的最后一行以外的所有行中添加逗号?

时间:2019-05-07 11:08:52

标签: python python-3.x file csv rows

除了在python中的最后一行外,我需要在csv文件的所有行中添加一个逗号标记。我已经尝试过,但是最后一行还添加了逗号。如何在csv文件的最后一行中丢弃逗号标记?

我正在读取csv文件,该文件有将近3000行和2列(我将每个合并的行(用于2列)附加在反向逗号标记内。我已经尝试过,但是很麻烦。对您有所帮助。 / p>

代码:

const std::list<std::string> l = {"a","b"};

3 个答案:

答案 0 :(得分:1)

import pandas as pd

df = pd.read_csv('file.csv')
df[:-1].to_csv('newFile', sep = ',')
#adding the last row without separator:
with open('newFile', 'a') as f:
    df[-1:].to_csv(f,header=f.tell()==0, sep = ' ')

您可以阅读有关方法选项https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.to_csv.html

的更多信息

答案 1 :(得分:1)

您可以将assert.areEqual( actualResponse.glossary.title, expectedResponse.glossary.title, "glossary.title"); 循环更改为以下形式:

for

请注意,尽管with open('raw_reqs.txt', 'w', encoding = 'utf-8') as f1: rows = ('"{}."'.format(' '.join(row)) for row in reader) raw_text = ', '.join(rows) f1.write(raw_text) 正在生成一个生成器,这意味着它只能被迭代一次。将其更改为列表理解,可能需要多次使用rows内容。

答案 2 :(得分:1)

我建议阅读所有行,丢弃最后一行,然后解析其余部分,如下所示:

import numpy as np

with open('file.csv', 'r') as fid:
    lines = fid.readlines()

# discard the last row:
lines = lines[:-1]

# parse the rest into an array
a     = np.array( [line.strip('\n').split(',')  for line in lines], dtype=float )