我正在使用下面引用的代码使用Python编辑CSV。代码中调用的函数构成了代码的上部。
问题:我希望下面引用的代码从第二行开始编辑csv,我希望它排除包含标题的第一行。现在,它仅在第一行上应用函数,并且我的标题行正在更改。
in_file = open("tmob_notcleaned.csv", "rb")
reader = csv.reader(in_file)
out_file = open("tmob_cleaned.csv", "wb")
writer = csv.writer(out_file)
row = 1
for row in reader:
row[13] = handle_color(row[10])[1].replace(" - ","").strip()
row[10] = handle_color(row[10])[0].replace("-","").replace("(","").replace(")","").strip()
row[14] = handle_gb(row[10])[1].replace("-","").replace(" ","").replace("GB","").strip()
row[10] = handle_gb(row[10])[0].strip()
row[9] = handle_oem(row[10])[1].replace("Blackberry","RIM").replace("TMobile","T-Mobile").strip()
row[15] = handle_addon(row[10])[1].strip()
row[10] = handle_addon(row[10])[0].replace(" by","").replace("FREE","").strip()
writer.writerow(row)
in_file.close()
out_file.close()
我试图通过将row
变量初始化为来解决此问题,1
但没有成功。
请帮助我解决这个问题。
您的reader
变量是可迭代的,通过循环它可以检索行。
要使其在循环前跳过一项,只需调用next(reader, None)
并忽略返回值即可。
您还可以稍微简化代码;将打开的文件用作上下文管理器以使其自动关闭:
with open("tmob_notcleaned.csv", "rb") as infile, open("tmob_cleaned.csv", "wb") as outfile:
reader = csv.reader(infile)
next(reader, None) # skip the headers
writer = csv.writer(outfile)
for row in reader:
# process each row
writer.writerow(row)
# no need to close, the files are closed automatically when you get to this point.
如果您想将标头写入未经处理的输出文件中,也很容易,请将输出传递next()
给writer.writerow()
:
headers = next(reader, None) # returns the headers or `None` if the input is empty
if headers:
writer.writerow(headers)
我使用下面提到的代码使用Python编辑csv。代码中调用的函数构成代码的上部。 问题:我希望下面引用的代码从第二行开始编辑csv,我希望它排除包含标题的第一行。现在它只在第一行应用函数,我的标题行正在更改。 我试图通过将变量初始化为来解决这个问题,但它不起作用。 请帮助我解决这个问题。
问题内容: 这是我的代码,我能够打印每行,但是当出现空白行时,它会打印;由于CSV文件格式,因此当空白行出现时我想跳过 问题答案: 如果要跳过所有空格行,则应使用以下测试:。 由于您可能需要做的事情不只是将非空白行打印到控制台上(不需要使用CSV模块),因此这里是一个涉及DictReader的示例:
我正在使用JMeter运行API负载测试。其中我使用一个CSV文件来传递数据。 应用程序接口: CSV(共赢): CSV 文件 : 问题:JMeter 总是选择具有 isexternal = true 的行,并跳过所有具有 isexternal 作为 false 的行。这是我面临的奇怪行为。任何人都可以解释一下背后的原因吗?
问题内容: 我开始设计一个程序,该程序将基于已找到并保存到主CSV / Excel文件中的相似字符串及其标识,自动执行正确地查找和识别字符串的过程。 现在,我想适当地设计它,这样以后在实现CSV / Excel阅读写作部分时就不会遇到问题。 我可能会使用OpenCSV来读写文件,所以我的问题更多是关于如何编辑文件。 上次处理编辑CSV文件时,我不得不将每行重写为新文件或现有文件,而不仅仅是编辑特定
问题内容: 我真的是Python新手。我目前正在研究使用python创建HTML文件的任务。我了解如何将HTML文件读入python,然后进行编辑和保存。 上一部分的问题在于,它只是替换了整个HTML文件并将字符串放入write()中。如何编辑文件,同时保持其内容完整。我的意思是,写这样的东西,但在 体内标签 我需要自动在打开和关闭正文标签之间插入链接。 问题答案: 您可能想阅读Beautiful
问题内容: 我有一个笨拙的csv文件,我需要跳过第一行来阅读它。 我正在使用python / pandas轻松做到这一点 但是我不知道如何在Go中做到这一点。 错误: : 问题答案: 读取csv文件时跳过第一行 例如, 输出: