GVKun编程网logo

CSV新行字符出现在未引用字段错误(csv文件字段包含逗号怎么办)

18

最近很多小伙伴都在问CSV新行字符出现在未引用字段错误和csv文件字段包含逗号怎么办这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展.net–CS0012:类型’System.Da

最近很多小伙伴都在问CSV新行字符出现在未引用字段错误csv文件字段包含逗号怎么办这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展.net – CS0012:类型’System.Data.Linq.DataContext’在未引用的程序集中定义、asp.net-mvc – 类型“表达式<>”在未引用的程序集中定义、c – 给定字符串中每个字符出现多少、java – 正则表达式检索引用的字符串和引用字符等相关知识,下面开始了哦!

本文目录一览:

CSV新行字符出现在未引用字段错误(csv文件字段包含逗号怎么办)

CSV新行字符出现在未引用字段错误(csv文件字段包含逗号怎么办)

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

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

import csvclass 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)

答案1

小编典典

很高兴看到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

.net – CS0012:类型’System.Data.Linq.DataContext’在未引用的程序集中定义

.net – CS0012:类型’System.Data.Linq.DataContext’在未引用的程序集中定义

Helllo,我收到此错误:

CS0246: The type or namespace name ‘DataClasses1DataContext’ Could not be found (are you missing a using directive or an assembly reference?)

对于此.aspx文件:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class WebApplication1_admin_Places : System.Web.UI.Page
{
    protected void Page_Load(object sender,EventArgs e)
    {
        DataClasses1DataContext db = new DataClasses1DataContext();
        var query = (from m in db.Places orderby m.Name select m);
        PlacesList.DataSource = query;
        PlacesList.DataBind();
    }
}

事情是,在/文件夹我可以访问数据库,但在/ admin文件夹我得到这个错误.

我究竟做错了什么?

编辑

CS0012:类型’System.Data.Linq.DataContext’在未引用的程序集中定义.您必须添加对程序集’System.Data.Linq,Version = 3.5.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089’的引用.

那是什么意思?

解决方法

几个地方开始:

>包含DataClasses1DataContext的dll在哪里?有没有理由可以从一个文件夹而不是另一个文件夹中找到它
> admin文件夹中是否有配置文件覆盖根配置文件中设置的值?

编辑

看起来这是一个配置问题.配置可能表示msl(模型)文件位于当前目录中,它位于根目录中.因此,当您在root上时它会起作用,但是当您在管理员中时它不起作用.

请参阅:MetadataException when using Entity Framework Entity Connection表示类似问题.

asp.net-mvc – 类型“表达式<>”在未引用的程序集中定义

asp.net-mvc – 类型“表达式<>”在未引用的程序集中定义

在ASP.NET MVC 4.5.2框架。

后输入

@Html.LabelFor()
or 
@Html.EditorFor()

在视图中

我收到错误:类型’表达式<>在未引用的程序集中定义。您必须添加对程序集“System.Core,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089’的引用。

我添加了程序集引用System.Core.dll,版本4.0.0.0,运行时版本v4.0.30319。并且我也在web.config

解决方法

我和你在同一个问题上跑,虽然很久以后。问题是,我不能访问Razor视图(.cshtml),因为我得到一个错误,说明我有一个缺少的程序集引用,即System.Web.Mvc,即使它是在项目引用。经调查,我注意到安装的NuGet版本是5.2.3,而项目需要5.2.0。解决方案是降级MVC版本。

>转到Project-> NuGet包管理器。
>搜索MVC;它将是第一个结果。
>下一步是从下拉菜单中选择降级的细节
NuGet包并提交。

确认所有的对话框,你准备好了。

c – 给定字符串中每个字符出现多少

c – 给定字符串中每个字符出现多少

我需要计算给定字符串中每个字符出现的次数.我需要在C或C上做,我可以使用任何库.问题是我不是C/C++开发人员,所以我不确定我的代码是否是最佳的.我想获得最佳性能算法,这是这个问题的主要原因.

我目前正在使用以下代码:

using namespace std;
...

char* text;        // some text,may be very long
int text_length;   // I kNow this value,if it can help

map<char,int> table;
map<char,int>::iterator it;

for(int i = 0; c = text[i]; i++) {
    it = table.find(c);
    if (it2 == table.end()) {
        table[c] = 1;
    } else {
        table[c]++;
    }
}

我可以使用除std :: map之外的任何其他结构,但我不知道哪种结构更好.

谢谢你的帮助!

@H_301_18@解决方法
你正在使用 bucket sort正确地做.没有更快(非并行)的算法来计算有限宇宙中的元素(例如字符).

如果只使用ASCII字符,则可以使用简单的数组int表[256]来避免C容器的开销.

使用Duff’s device(现在某些cpu实际上速度较慢):

int table[256];
memset(table,sizeof(table));
int iterations = (text_length+7) / 8;
switch(count % 8){
    case 0:      do {    table[ *(text++) ]++;
    case 7:              table[ *(text++) ]++;
    case 6:              table[ *(text++) ]++;
    case 5:              table[ *(text++) ]++;
    case 4:              table[ *(text++) ]++;
    case 3:              table[ *(text++) ]++;
    case 2:              table[ *(text++) ]++;
    case 1:              table[ *(text++) ]++;
                 } while(--iterations > 0);
}

更新:正如MRAB所说,并行处理文本块可能会提升性能.但要注意创建一个线程是非常昂贵的,所以你应该测量,最低字符数是什么,这证明了线程创建时间的合理性.

java – 正则表达式检索引用的字符串和引用字符

java – 正则表达式检索引用的字符串和引用字符

我有一种语言,它将一个字符串定义为单引号或双引号,通过加倍将字符串转义为字符串中的分隔符.例如,所有以下内容都是合法字符串:
'This isn''t easy to parse.'
'Then John said,"Hello Tim!"'
"This isn't easy to parse."
"Then John said,""Hello Tim!"""

我有一个字符串(上面定义)的集合,由不包含引号的东西分隔.我正在尝试使用正则表达式,是解析列表中的每个字符串.例如,这里是一个输入:

“Some String #1” OR ‘Some String #2’ AND “Some ‘String’ #3” XOR
‘Some “String” #4’ HOWDY “Some “”String”” #5″ FOO ‘Some ”String” #6’

用于确定字符串是否具有这种形式的正则表达式是微不足道的:

^(?:"(?:[^"]|"")*"|'(?:[^']|'')*')(?:\s+[^"'\s]+\s+(?:"(?:[^"]|"")*"|'(?:[^']|'')*')*

运行上面的表达式来测试它是否是一个这样的形式,我需要另一个正则表达式从输入中获取每个分隔的字符串.我打算这样做:

Pattern pattern = Pattern.compile("What REGEX goes here?");
Matcher matcher = pattern.matcher(inputString);
int startIndex = 0;
while (matcher.find(startIndex))
{
    String quote        = matcher.group(1);
    String quotedString = matcher.group(2);
    ...
    startIndex = matcher.end();
}

我想要一个正则表达式捕获组#1中的引号字符,组#2中的引号内的文本(我正在使用Java Regex).所以,对于上面的输入,我正在寻找一个正则表达式,在每个循环迭代中产生以下输出:

Loop 1: matcher.group(1) = "
        matcher.group(2) = Some String #1
Loop 2: matcher.group(1) = '
        matcher.group(2) = Some String #2
Loop 3: matcher.group(1) = "
        matcher.group(2) = Some 'String' #3
Loop 4: matcher.group(1) = '
        matcher.group(2) = Some "String" #4
Loop 5: matcher.group(1) = "
        matcher.group(2) = Some ""String"" #5
Loop 6: matcher.group(1) = '
        matcher.group(2) = Some ''String'' #6

到目前为止我已经尝试过的模式(未转义,随后为Java代码转义):

(["'])((?:[^\1]|\1\1)*)\1
"([\"'])((?:[^\\1]|\\1\\1)*)\\1"

(?<quot>")(?<val>(?:[^"]|"")*)"|(?<quot>')(?<val>(?:[^']|'')*)'
"(?<quot>\")(?<val>(?:[^\"]|\"\")*)\"|(?<quot>')(?<val>(?:[^']|'')*)'"

当尝试编译模式时,这两个都会失败.

这样的正则表达式是否可能?

解决方法

制作一个与你相匹配的实用工具类:
class test {
    private static Pattern pd = Pattern.compile("(\")((?:[^\"]|\"\")*)\"");
    private static Pattern ps = Pattern.compile("(')((?:[^']|'')*)'");
    public static Matcher match(String s) {
        Matcher md = pd.matcher(s);
        if (md.matches()) return md;
        else return ps.matcher(s);
    }
}

关于CSV新行字符出现在未引用字段错误csv文件字段包含逗号怎么办的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于.net – CS0012:类型’System.Data.Linq.DataContext’在未引用的程序集中定义、asp.net-mvc – 类型“表达式<>”在未引用的程序集中定义、c – 给定字符串中每个字符出现多少、java – 正则表达式检索引用的字符串和引用字符等相关知识的信息别忘了在本站进行查找喔。

本文标签: