标签: csv

read.csv警告'引用字符串中的EOF'阻止完整读取文件

我有一个CSV文件(24.1 MB),我无法完全读入我的R会话.当我在电子表格程序中打开文件时,我可以看到112,544行.当我将它读入R时,read.csv我只得到56,952行并且这个警告:

cit <- read.csv("citations.CSV", row.names = NULL, 
                comment.char = "", header = TRUE, 
                stringsAsFactors = FALSE,  
                colClasses= "character", encoding= "utf-8")

Warning message:
In scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings,  :
  EOF within quoted string
Run Code Online (Sandbox Code Playgroud)

我可以将整个文件读入R readLines:

rl <- readLines(file("citations.CSV", encoding = "utf-8"))
length(rl)
[1] 112545
Run Code Online (Sandbox Code Playgroud)

但我不能把它作为一个表(通过read.csv)回到R中:

write.table(rl, "rl.txt", quote = FALSE, row.names = FALSE)
rl_in <- read.csv("rl.txt", skip = 1, row.names = NULL)

Warning message:
In scan(file, what, nmax, …
Run Code Online (Sandbox Code Playgroud)

csv r eof read.table

121
推荐指数
5
解决办法
11万
查看次数

在不带引号的字段错误中看到的CSV换行符

以下代码一直有效,直到今天我从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]
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

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 = …
Run Code Online (Sandbox Code Playgroud)

python csv django

117
推荐指数
5
解决办法
13万
查看次数

在C#中,如何从字符串创建TextReader对象(无需写入磁盘)

我正在使用快速CSV阅读器将一些粘贴的文本解析为网页.Fast CSV阅读器需要一个TextReader对象,而我所拥有的只是一个字符串.在运行中将字符串转换为TextReader对象的最佳方法是什么?

谢谢!

更新 - 示例代码 - 在原始示例中,新的StreamReader正在查找名为"data.csv"的文件.我希望通过TextBox_StartData.Text提供它.

使用下面的代码不会编译.

        TextReader sr = new StringReader(TextBox_StartData.Text);
        using (CsvReader csv = new CsvReader(new StreamReader(sr), true))
        {
            DetailsView1.DataSource = csv;
            DetailsView1.DataBind();
        }
Run Code Online (Sandbox Code Playgroud)

new StreamReader(sr)告诉我它有一些无效的参数.有任何想法吗?

作为替代方法,我试过这个:

        TextReader sr = new StreamReader(TextBox_StartData.Text);
        using (CsvReader csv = new CsvReader(sr, true))
        {
            DetailsView1.DataSource = csv;
            DetailsView1.DataBind();
        }
Run Code Online (Sandbox Code Playgroud)

但我得到一个Illegal characters in path Error.这里是TextBox_StartData.Text中的字符串示例:

Fname\tLname\tEmail\nClaude\tCuriel\tClaude.Curiel@email.com\nAntoinette\tCalixte\tAntoinette.Calixte@email.com\nCathey\tPeden\tCathey.Peden@email.com\n
Run Code Online (Sandbox Code Playgroud)

如果这是正确的方法,任何想法?再次感谢你的帮助!

c# csv textreader csvhelper

115
推荐指数
4
解决办法
8万
查看次数

当一些数字包含逗号作为千位分隔符时如何读取数据?

我有一个csv文件,其中一些数值表示为字符串,逗号为千分隔符,例如,"1,513"而不是1513.将数据读入R的最简单方法是什么?

我可以使用read.csv(..., colClasses="character"),但是在将这些列转换为数字之前,我必须从相关元素中删除逗号,我找不到一个巧妙的方法来做到这一点.

csv r r-faq

114
推荐指数
8
解决办法
11万
查看次数

在Excel 2007中使用换行符导入CSV

我正在开发一项功能,将搜索结果导出到CSV文件,以便在Excel中打开.其中一个字段是一个自由文本字段,可能包含换行符,逗号,引号等.为了抵消这一点,我将字段用双引号(")包装.

但是,当我将数据导入Excel 2007时,设置适当的分隔符,并将文本限定符设置为双引号,换行符仍然在换行符处创建新记录,我希望在其中看到整个文本字段单细胞.

我也尝试用CR(\ r)替换CR/LF(\ r \n),再用LF(\n)替换,但没有运气.

有没有其他人遇到过这种行为,如果有,你是如何解决的?

TIA,
-J

编辑:
这是我用手写的复制问题的快速文件.

ID,名称,描述
"12345","史密斯,乔","嘿.
我的名字是乔."

当我将其导入Excel 2007时,我最终得到一个标题行和两个记录.请注意,"Smith,Joe"中的逗号正在正确处理.这只是造成问题的换行符.

csv excel newline excel-2007

110
推荐指数
8
解决办法
16万
查看次数

如何摆脱pandas数据帧中的`Unnamed:`列

我有一种情况,有时当我读取一个csv来自df我得到一个不需要的索引列名称unnamed:0.这很烦人!我试过了

,A,B,C
0,1,2,3
1,4,5,6
2,7,8,9
Run Code Online (Sandbox Code Playgroud)

我认为这是一个解决方案,但我仍然得到file.csv专栏!有没有人对此有所了解?

python csv dataframe pandas

109
推荐指数
5
解决办法
10万
查看次数

Java lib或app将CSV转换为XML文件?

Java中是否存在允许我将CSV数据文件转换为文件的现有应用程序或库XML

XML标签将通过可能含有的第一行的列标题中提供.

java xml csv data-conversion

107
推荐指数
12
解决办法
7万
查看次数

如何用csv.DictWriter编写标题行?

假设我有一个csv.DictReader对象,我想把它写成CSV文件.我怎样才能做到这一点?

我知道我可以像这样编写数据行:

dr = csv.DictReader(open(f), delimiter='\t')
# process my dr object
# ...
# write out object
output = csv.DictWriter(open(f2, 'w'), delimiter='\t')
for item in dr:
    output.writerow(item)
Run Code Online (Sandbox Code Playgroud)

但是我如何包含字段名?

python csv

107
推荐指数
3
解决办法
13万
查看次数

php implode(101)with quotes

扼杀一个简单的数组

看起来像这样

$array = array('lastname', 'email', 'phone');
$comma_separated = implode(",", $array);
Run Code Online (Sandbox Code Playgroud)

那会回来的

 lastname,email,phone
Run Code Online (Sandbox Code Playgroud)

很棒,所以我可能会这样做

$array = array('lastname', 'email', 'phone');
$comma_separated = implode("','", $array);
$comma_separated = "'".$comma_separated."'";
Run Code Online (Sandbox Code Playgroud)

现在我有我想要的漂亮的csv字符串

 'lastname','email','phone'
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来做到这一点,我觉得应该有一个可选参数implode我错过了什么?

php csv arrays string implode

106
推荐指数
7
解决办法
10万
查看次数

来自url的Pandas read_csv

我正在使用Python 3.4和IPython,并具有以下代码.我无法从给定的URL读取csv文件:

import pandas as pd
import requests

url="https://github.com/cs109/2014_data/blob/master/countries.csv"
s=requests.get(url).content
c=pd.read_csv(s)
Run Code Online (Sandbox Code Playgroud)

我有以下错误

"预期的文件路径名或类文件对象,得到类型"

我怎样才能解决这个问题?

python csv request pandas

106
推荐指数
5
解决办法
11万
查看次数