在 Python 中读取和写入 CSV 文件

Posted

技术标签:

【中文标题】在 Python 中读取和写入 CSV 文件【英文标题】:Read and write CSV file in Python 【发布时间】:2022-01-23 08:38:30 【问题描述】:

我正在尝试读取 csv 文件中的句子,将它们转换为小写并保存在其他 csv 文件中。

import csv
import pprint

with open('dataset_elec_4000.csv') as f:
    with open('output.csv', 'w') as ff:
        data = f.read()
        data = data.lower
        writer = csv.writer(ff)
        writer.writerow(data)

但我收到错误“_csv.Error: sequence expected”。我该怎么办? *我是初学者。请对我好一点:)

【问题讨论】:

with open('dataset_elec_4000.csv', 'r') as f: ? 您介意分享 csv 文件的一部分,以便我可以分享更多自定义答案吗? data = data.lower 不返回小写字符串。它返回lower 函数对象。你需要调用函数:data = data.lower(). 但是,您将整个文件作为一个字符串读取。您不能使用csv.writer 来写入结果,因为您没有读取行。只需执行:ff.write( f.read().lower()) 数据是这样的 "这个机箱很漂亮。我想不出有什么我不喜欢的。我使用了一个更小尺寸的 GTX 750,它可以让你看到里面的所有东西。更大的视频卡挡住了你的视线(可能是设计使然)", "1.0", "非常失望。这个项目工作了一两次,但从来没有持续过。我更换了电池,但还是不行工作。我按照公司的指示让它工作。不要浪费你的钱。", "0.0", ... 【参考方案1】:

您需要逐行读取输入的 CSV,并对每一行进行转换,然后将其写出:

import csv

with open('output.csv', 'w', newline='') as f_out:
    writer = csv.writer(f_out)

    with open('dataset_elec_4000.csv', newline='') as f_in:
        reader = csv.reader(f_in)

        # comment these two lines if no input header
        header = next(reader)
        writer.writerow(header)

        for row in reader:
            # row is sequence/list of cells, so...
            # select the cell with your sentence, I'm presuming it's the first cell (row[0])
            data = row[0]

            data = data.lower()
            
            # need to put data back into a "row"
            out_row = [data]

            writer.writerow(out_row)

【讨论】:

【参考方案2】:

Python 包含一个名为 csv 的模块,用于处理 CSV 文件。模块中的 reader 类用于从 CSV 文件中读取数据。首先,CSV 文件在 'r' 模式(指定打开文件时指定读取模式)下使用 open() 方法打开,该方法返回文件对象,然后使用 CSV 模块的 reader() 方法读取它,该方法返回遍历指定 CSV 文档中各行的 reader 对象。

import csv 
   # opening the CSV file 
with open('Giants.csv', mode ='r')as file: 
   # reading the CSV file 
csvFile = csv.reader(file) 
   # displaying the contents of the CSV file 
for lines in csvFile: 
print(lines) 

【讨论】:

他已经在使用csv 模块。你没看到吗?他只是用错了。

以上是关于在 Python 中读取和写入 CSV 文件的主要内容,如果未能解决你的问题,请参考以下文章

python读取和写入csv文件

python之读取和写入csv文件

在python中读取和写入CSV文件(你真的会吗?)

csv文件怎么打开 使用Python读取和写入CSV文件

Python - 使用 utf-8 编码读取和写入 csv 文件

python文件读取与写入