当前位置: 首页 > 面试题库 >

CSV新行字符出现在未引用字段错误

穆锋
2023-03-14
问题内容

直到今天,当我从Windows计算机导入以下代码时,此代码仍有效:

在不带引号的字段中看到换行符-是否需要以通用换行模式打开文件?

import csv

class CSV:

    def __init__(self, file=None):
        self.file = file

    def read_file(self):
        data = []
        file_read = csv.reader(self.file)
        for row in file_read:
            data.append(row)
        return data

    def get_row_count(self):
        return len(self.read_file())

    def get_column_count(self):
        new_data = self.read_file()
        return len(new_data[0])

    def get_data(self, rows=1):
        data = self.read_file()

        return data[:rows]

如何解决此问题?

def upload_configurator(request, id=None):
    """
    A view that allows the user to configurator the uploaded CSV.
    """
    upload = Upload.objects.get(id=id)
    csvobject = CSV(upload.filepath)

    upload.num_records = csvobject.get_row_count()
    upload.num_columns = csvobject.get_column_count()
    upload.save()

    form = ConfiguratorForm()

    row_count = csvobject.get_row_count()
    colum_count = csvobject.get_column_count()
    first_row = csvobject.get_data(rows=1)
    first_two_rows = csvobject.get_data(rows=5)

问题答案:

很高兴看到csv文件本身,但这可能对你有用,请尝试一下,替换:

file_read = csv.reader(self.file)

与:

file_read = csv.reader(self.file, dialect=csv.excel_tab)

或者,使用打开文件universal newline mode并将其传递给csv.reader,例如:

reader = csv.reader(open(self.file, 'rU'), dialect=csv.excel_tab)

或者,splitlines()像这样使用:

def read_file(self):
    with open(self.file, 'r') as f:
        data = [row for row in csv.reader(f.read().splitlines())]
    return data


 类似资料:
  • 问题内容: 我正在使用Elasticsearch的Typescript客户端,并且在尝试更新文档时: 我收到一个错误消息: 但是根据此处的文档:https : //www.elastic.co/guide/zh- CN/elasticsearch/client/javascript-api/current/api- reference.html#_update ,是输入中的字段 我的请求参数出了什

  • 问题内容: 使用以下代码建立索引时,由于找不到未知字段解析器而产生错误: 问题答案: 广场外面,而不是嵌套在- https://www.elastic.co/guide/en/elasticsearch/reference/current/docs- reindex.html

  • 问题内容: 给定一个包含这样数据的文件(即stores.dat文件) 什么命令返回每行出现“ t”字符的次数? 例如。会返回: 另外,要按字段计数出现次数,返回以下结果的命令是什么? 例如。输入第2列和字符“ t” 例如。输入第3列和字符“ t” 问题答案: 要计算每行字符的出现次数,您可以执行以下操作: 要计算每个字段/列中字符的出现次数,您可以执行以下操作: 第2栏: 第3栏: 函数的返回值是

  • 我已经运行了Apache Solr6.1.0。之后,csv文档也会被索引到Solr6.1.0中,但在索引时,用于当前索引的文档时间的时间戳字段不会被索引。下面是schema.xml文件中事件时间戳字段的结构。 谢谢

  • 问题内容: 我有一个连接到服务器的Java客户端应用程序。客户端和服务器都在docker容器中运行。 我注意到官方mysql Docker镜像最近更新了mysql服务以运行 由于此更改,我的Java客户端应用程序无法连接到mysql实例;它失败,并显示以下错误: 我不拥有Java客户端应用程序的源代码,因此无法轻松升级它正在使用的JDBC驱动程序(即)。 这与以前运行mysqld的docker镜像

  • 问题内容: 让我们考虑以下情况-“文章”文档中有两个字段- content(string)和views(int)。视图字段未建立索引。views字段包含此文章被阅读了多少次的信息。 来自官方文档: 我们还说过文件是不可变的:它们不能更改,只能替换。更新API必须遵守相同的规则。从外部看,似乎我们正在部分更新文档。但是,在内部,更新API仅管理与我们已经描述过的相同的检索- 更改-重新索引过程。 但