除了在python中的最后一行外,我需要在csv文件的所有行中添加一个逗号标记。我已经尝试过,但是最后一行还添加了逗号。如何在csv文件的最后一行中丢弃逗号标记?
我正在读取csv文件,该文件有将近3000行和2列(我将每个合并的行(用于2列)附加在反向逗号标记内。我已经尝试过,但是很麻烦。对您有所帮助。 / p>
代码:
const std::list<std::string> l = {"a","b"};
答案 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 )