我有一个包含~200列和~170K行的csv文件.数据已被广泛整理,我知道它的结构良好.当read.table完成时,我看到大约有一半的行已被导入.没有警告也没有错误.我设置选项(警告= 2).我正在使用64位最新版本,我将内存限制增加到10gig.在这里抓我的头......不知道如何继续调试这个.
编辑
当我说一半文件时,我不是指上半场.最后一次观察读到了文件的末尾....所以它看似随意.
我有一个50万行的CSV文件.我要将所有CSV文件行插入到在SQLite Android中创建的表中.我想知道我可以在SQLite的任何表中插入多少行?
我构建了一个闪亮的应用程序,它采用用户上传的CSV文件并添加标题和几个新列,以便之后进行一些计算.
上传的CSV文件包含2列,如下所示:
1 0.21
1 0.20
1 0.23
2 0.40
2 0.42
2 ...
Run Code Online (Sandbox Code Playgroud)
要上传文件我使用此代码(正在运行):
data1<- reactive({
inFile <- input$file1
if(is.null(inFile)){return()}
data1<- read.csv(file=inFile$datapath,header =input$header,sep=input$sep)
})
Run Code Online (Sandbox Code Playgroud)
下一步是将标题添加到这两列,并以这种方式添加另外两列:
Dose Response SquareRoot Log
1 0.21 sq(Response) log(Response)
1 0.20 ... ...
1 0.23 ... ...
2 0.40 ... ...
2 0.42 ... ...
2 ...
Run Code Online (Sandbox Code Playgroud)
在R会话中,我将使用的代码是:
data1<- read.csv(file=inFile$datapath,header =input$header,sep=input$sep)
colnames(data1) <-c("Dose","Response")
data1$ResponseLog <- log10(data1$Response + 1)
data1$ResponseSqRoot <- sqrt(data1$Response + 1)
Run Code Online (Sandbox Code Playgroud)
如果我这样做有光泽地将这些行添加到我的Rshiny应用程序中它将无法工作并给我错误:
错误:长度为0的参数,即使我只是使用定义列名称colnames().
所以我的问题是,有没有办法编辑我刚上传的数据帧?我已经问过这个问题你能不能重定向我,因为我找不到解决方案.我希望我能给你足够的细节来理解这个问题.
我习惯于R提供快速功能来逐列读取CSV文件,任何人都可以提出一种快速有效的方法来读取python中的大数据(例如CSV)文件吗?例如,CSV文件的第 i 列.
我有以下但需要时间:
import os,csv, numpy, scipy
from numpy import *
f= open('some.csv', 'rb')
reader = csv.reader(f, delimiter=',')
header = reader.next()
zipped = zip(*reader)
print( zipped[0] ) # is the first column
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法来读取python中的数据(来自大文件)(在内存方面至少和R一样快)?
我有一个CSV文件,有点像这样:

我需要聚类"NoOffaces"并计算有多少数据集有1个面,2个面等等.
这是我在R中所做的:
data<-read.csv('test.csv')
a<-table(data$NoOffaces)
a #for printing a
Run Code Online (Sandbox Code Playgroud)
这是输出:
0 1 2 3 4 5 6 7 8 9 10 14 15 19
448 375 104 33 16 7 4 2 2 3 1 3 1 1
Run Code Online (Sandbox Code Playgroud)
但是,我想给前两行命名,使它看起来有点像这样
Faces :0 1 2 3 4 5 6 7 8 9 10 14 15 19
Count :448 375 104 33 16 7 4 2 2 3 1 3 1 1
Run Code Online (Sandbox Code Playgroud)
我无法命名行,还有如何访问列中的每个值?
我是R的初学者,一些帮助将不胜感激.
谢谢:)
from_csv 选择“04”作为值之一并将其转换为字符串。如何确保所有被拾取的列都是字符串?我希望避免处理单个列,因为有 114 列,并且我不想在列受到影响时进行分析。
我正在构建一个 Google App Maker 应用程序,它将用户上传的 Excel CSV 电子表格文件作为输入。我想过多种可能的解决方案来读取此文件中的数据,但每次都遇到此错误:“异常:FILENAME.csv 超出最大文件大小”。我尝试通过 parseCSV() 将数据提取到 Google Cloud SQL,通过 .getBlob().getDataAsString() 作为一个字符串读入并用“\n”分割,然后将所有数据写入 Google Docs 并尝试读取它从那里。但是,所有这些方法都导致了相同的错误。
是否有解决此最大文件大小问题的解决方法?
我曾考虑将文件拆分为较小的 CSV 文件,但我不确定如何执行此操作。
有没有人有一些建议如何将逗号分隔的数据文件读入Matlab?简单的解决方案(如dlmread,fscanf)似乎不起作用,因为有多(10)行标题信息.我得到的最接近的解决方案是:
C=textscan(datafile)
G=cell2mat(C{1,1}(34:endoffile)}) //34 is the line the data starts
V=str2num(G)
Run Code Online (Sandbox Code Playgroud)
这里的问题是,例如数据看起来像这样:
;1.0345,937,18,763
;1.0355,947,4,652
etc.
Run Code Online (Sandbox Code Playgroud)
转换为矩阵时,单元格中的所有字符串必须具有相同的大小,否则会给出使用"vertcat"的错误.如果没有其他选择,我可以删除标题,让我们说记事本,但有很多文件,这将是一个单调乏味的工作.
我不知道为什么标题名称得到"X".使用quote =""导入时的前缀.这是代码:
xhead = read.csv("~/Desktop/dbdump/users.txt", na.strings = "\\N", quote="", nrows = 1000)
Run Code Online (Sandbox Code Playgroud)
这给了我:
names(xhead)
[1] "X.userId." "X.fullName." "X.email." "X.password."
[5] "X.activated." "X.registrationDate." "X.locale." ...
Run Code Online (Sandbox Code Playgroud)
鉴于:
yhead = read.csv("~/Desktop/dbdump/users.txt", na.strings = "\\N", nrows = 1000)
names(yhead)
[1] "userId" "fullName" "email" "password"
[5] "activated" "registrationDate" "locale" ...
Run Code Online (Sandbox Code Playgroud)
我之所以引用=""的原因是我的记录被截断,大概是因为埋在我的15000条记录中有一个流浪的引用.
这是我的数据文件的样子:
"userId", "fullName","email","password","activated","registrationDate","locale","notifyOnUpdates","lastSyncTime","plan_id","plan_period_months","plan_price","plan_exp_date","plan_is_trial","plan_is_trial_used","q_hear","q_occupation","pp_subid","pp_payments","pp_since","pp_cancelled","apikey"
"2","Adam Smith","a@mail.com","*****","1","2004-07-23 14:19:32","en_US","1","2011-04-07 07:29:17","3",\N,\N,\N,"0","1",\N,\N,\N,\N,\N,\N,"d7734dce-4ae2-102a-8951-0040ca38ff83"
Run Code Online (Sandbox Code Playgroud) 我有一个通过对象生成的 CSV 文件csv.writer。这是生成文件的代码的简化版本:
output = open('out.txt', 'ab+')
writer = csv.writer(output, dialect='excel')
for item in dataset:
row = []
row.append(item['id'])
row.append(item['timestamp'])
values = []
for value in item['values']
values.append(value['name'])
row.append(values)
writer.writerow(row)
output.flush()
output.close()
Run Code Online (Sandbox Code Playgroud)
CSV 文件中的示例行如下所示:
457458856894140182,Mon Dec 02 11:36:48 +0000 2013,[u'Sugar', u'Rice', u'Bleach']
Run Code Online (Sandbox Code Playgroud)
我尝试使用csv.reader对象将数据解析回另一个脚本,但无法正确解析第三列中的列表。Python 只是将整个值视为[u'Sugar', u'Rice', u'Bleach']字符串。例如,代码:
input = open('out.txt', 'rb')
reader = csv.reader(input, dialect='excel')
for row in reader:
print row[2][0]
input.close()
Run Code Online (Sandbox Code Playgroud)
...只输出一长串换行符[。
如何正确解析此 CSV 文件,将第三列中的结构组装回内存中的列表中?
我怎样才能找到女性的平均值/中位数(任何其他此类事物)?我尝试了一些代码来访问女性数据,但没有成功.任何帮助都非常感谢.
> jalal <- read.csv("jalal.csv", header=TRUE,sep=",")
> which(jalal$sex==F)
integer(0)
> jalal
age sex weight eye.color hair.color
1 23 F 93.8 blue black
2 21 M 180.8 amber gray
3 22 F 196.5 hazel gray
4 22 M 256.2 amber black
5 21 M 219.6 blue gray
6 16 F 152.1 blue gray
7 21 F 183.3 gray chestnut
8 18 M 179.1 brown blond
9 15 M 206.1 blue white
10 19 M 211.6 brown blond
11 20 F 209.4 …Run Code Online (Sandbox Code Playgroud) 我正在尝试从CSV文件将一些值导入AX(GEACAccounts)中的自定义表.
现在,下面的代码按预期工作,除非我尝试加载包含表中已存在的GEACaccount(容器项#3)编号的CSV文件.在这种情况下,AX抛出一个错误,说"将记录插入表中时出错.记录已存在.
在我看来,这个错误正在发生,因为表上有一些设置不允许表中的重复值,但我不知道这个设置可能是什么.将不同的字段设置为主键(RecID).GEACAccount字段也与另一个表相关.这会导致我的错误或其他什么?
此外,此功能是正确的,此表上应该只允许一个唯一的GEACAccount值.我只是问,因为我很好奇这可能会受到控制.
任何关于下一步的建议都将不胜感激.
代码如下.
static void Job11(Args _args)
{
TextIo ioReader;
FileIOPermission fioPermission;
str sTempPath;
GEACAccounts Accounts;
container readCon;
try
{
info("Begin reading file " +'C:\\\\testload.txt');
fioPermission = new FileIOPermission('C:\\\\testload.txt',"RW");
fioPermission.assert();
ioReader = new TextIo('C:\\\\testload.txt',"R");
ioReader.inFieldDelimiter(num2char(44));
ioReader.inRecordDelimiter('\n');
readCon = ioReader.read();
if(ioReader)
{
//readCon = ioReader.read();
// i++;
while(ioReader.status() == IO_Status::Ok)
{
i++;
info(conPeek(readCon,1));
info(conPeek(readCon,2));
info(conPeek(readCon,3));
info(conPeek(readCon,4));
ttsBegin;
accounts.clear();
accounts.initValue();
accounts.GEACAccountGroup = 5637144826;
accounts.AddlSecType = conPeek(readCon,1);
accounts.CashflowMovement = conPeek(readCon,2);
accounts.GEACAccountNumber = conPeek(readCon,3);
accounts.GEACFlipSign = 0;
accounts.SecurityGroup = …Run Code Online (Sandbox Code Playgroud) 我需要创建一个从 csv 文件导入数据的数据库。按照练习的说明,我创建了模型和脚本文件,但是当我运行命令时,python manage.py runscript many_load它在标题中给出了错误。这是代码:
- 模型.py:
from django.db import models
class Category(models.Model):
category = models.CharField(max_length=128)
def __str__(self):
return self.category
class State(models.Model):
state = models.CharField(max_length=25)
def __str__(self):
return self.state
class Region(models.Model):
region = models.CharField(max_length=25)
def __str__(self):
return self.region
class Iso(models.Model):
iso = models.CharField(max_length=5)
def __str__(self):
return self.iso
class Site(models.Model):
name = models.CharField(max_length=128)
year = models.CharField(max_length=128)
area = models.CharField(max_length=128)
describe = models.TextField(max_length=500)
justify = models.TextField(max_length=500, null=True)
longitude = models.TextField(max_length=25, null=True)
latitude = models.TextField(max_length=25, null=True)
#one to many field …Run Code Online (Sandbox Code Playgroud)