Questions tagged «csv»

逗号分隔值或字符分隔值(CSV)是一种标准的“平面文件数据库”格式,用于以纯文本格式存储表格数据,由可选的标题行组成,该标题行列出了用逗号或制表符或其他分隔符分隔的表格字段,然后是一行或多行(用换行符分隔),这些行将表记录表示为值的定界列表。换行符和分隔符可以出现在(带引号)字段中。

7
读取巨大的.csv文件
我目前正在尝试从Python 2.7中的.csv文件读取数据,该文件最多包含100万行和200列(文件范围从100mb到1.6gb)。对于少于300,000行的文件,我可以(非常缓慢地)执行此操作,但是一旦超过该行,就会出现内存错误。我的代码如下所示: def getdata(filename, criteria): data=[] for criterion in criteria: data.append(getstuff(filename, criteron)) return data def getstuff(filename, criterion): import csv data=[] with open(filename, "rb") as csvfile: datareader=csv.reader(csvfile) for row in datareader: if row[3]=="column header": data.append(row) elif len(data)<2 and row[3]!=criterion: pass elif row[3]==criterion: data.append(row) else: return data 在getstuff函数中使用else子句的原因是,所有符合条件的元素都将一起列在csv文件中,因此当我经过它们时,为了节省时间,我离开了循环。 我的问题是: 我如何设法使其与较大的文件一起使用? 有什么办法可以使它更快? 我的计算机具有8gb …
107 python  python-2.7  file  csv 

14
如何使用PHP和fgetcsv函数从CSV文件创建数组
有人可以提供使用fgetcsv从CSV文件创建数组的代码吗? 我已经使用以下代码从一个简单的CSV文件创建一个数组,但是当我的一个字段包含多个逗号(例如地址)时,它就无法正常工作。 $lines =file('CSV Address.csv'); foreach($lines as $data) { list($name[],$address[],$status[]) = explode(',',$data); } *此外,我的托管服务不支持str_getcsv。 上面的代码不适用于以下CSV文件示例。第一栏是姓名,第二栏是地址,第三栏是婚姻状况。 Scott L. Aranda,"123 Main Street, Bethesda, Maryland 20816",Single Todd D. Smith,"987 Elm Street, Alexandria, Virginia 22301",Single Edward M. Grass,"123 Main Street, Bethesda, Maryland 20816",Married Aaron G. Frantz,"987 Elm Street, Alexandria, Virginia 22301",Married Ryan V. Turner,"123 …
106 php  arrays  csv 

11
将CSV文件导入.Net中的强类型数据结构
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 将CSV文件导入到强类型数据结构中的最佳方法是什么?
106 c#  vb.net  file  csv  import 

11
MYSQL使用LOAD DATA INFILE从csv导入数据
我正在从CSV文件将20000行的某些数据导入Mysql。 CSV中的列与MySQL表的列顺序不同。如何自动分配与Mysql表列相对应的列? 当我执行 LOAD DATA INFILE'abc.csv' INTO TABLE abc 该查询将所有数据添加到第一列。 请建议用于将数据导入Mysql的自动语法。


8
如何分割其列可能包含的csv,
给定 2,1016,7 /2008分之3114:22,杰夫达尔加斯6 /二千零十一分之五22:21,http://stackoverflow.com, “科瓦利斯,OR”,7679,351,81,b437f461b3fd27387c5d8ab47a293d35,34 如何使用C#将上述信息分成字符串,如下所示: 2 1016 7/31/2008 14:22 Geoff Dalgas 6/5/2011 22:21 http://stackoverflow.com Corvallis, OR 7679 351 81 b437f461b3fd27387c5d8ab47a293d35 34 如您所见,其中一列包含,<=(科瓦利斯,俄勒冈州) //更新//基于 C#正则表达式拆分-引号外的逗号 string[] result = Regex.Split(samplestring, ",(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)");
105 c#  .net  csv 

5
如何使用jq将任意简单的JSON转换为CSV?
使用jq,如何将浅层对象数组的任意JSON编码转换为CSV? 这个网站上有很多关于特定数据模型的问答,这些数据模型对字段进行了硬编码,但是对于任何JSON,此问题的答案都应该有效,唯一的限制是它是具有标量属性的对象数组(无深度/复杂/子对象,如将它们展平是另一个问题)。结果应该包含一个标题行,给出字段名称。将优先考虑保留第一个对象的字段顺序的答案,但这不是必需的。结果可以用双引号将所有单元格括起来,或者仅将需要引用的单元格括起来(例如“ a,b”)。 例子 输入: [ {"code": "NSW", "name": "New South Wales", "level":"state", "country": "AU"}, {"code": "AB", "name": "Alberta", "level":"province", "country": "CA"}, {"code": "ABD", "name": "Aberdeenshire", "level":"council area", "country": "GB"}, {"code": "AK", "name": "Alaska", "level":"state", "country": "US"} ] 可能的输出: code,name,level,country NSW,New South Wales,state,AU AB,Alberta,province,CA ABD,Aberdeenshire,council area,GB AK,Alaska,state,US 可能的输出: "code","name","level","country" "NSW","New …
105 json  csv  jq 

7
PHP数组到CSV
我正在尝试将一系列产品转换为CSV文件,但似乎没有计划。CSV文件是一长行,这是我的代码: for($i=0;$i<count($prods);$i++) { $sql = "SELECT * FROM products WHERE id = '".$prods[$i]."'"; $result = $mysqli->query($sql); $info = $result->fetch_array(); } $header = ''; for($i=0;$i<count($info);$i++) { $row = $info[$i]; $line = ''; for($b=0;$b<count($row);$b++) { $value = $row[$b]; if ( ( !isset( $value ) ) || ( $value == "" ) ) …
104 php  csv 


16
Python CSV错误:行包含NULL字节
我正在使用以下代码处理一些CSV文件: reader = csv.reader(open(filepath, "rU")) try: for row in reader: print 'Row read successfully!', row except csv.Error, e: sys.exit('file %s, line %d: %s' % (filename, reader.line_num, e)) 一个文件引发此错误: file my.csv, line 1: line contains NULL byte 我能做什么?Google似乎建议它可能是Excel文件,未正确保存为.csv。有什么办法可以解决Python中的这个问题? ==更新== 在下面@JohnMachin的评论之后,我尝试将以下行添加到脚本中: print repr(open(filepath, 'rb').read(200)) # dump 1st 200 bytes of file data …
102 python  csv 

5
Python逐行写入CSV
我有通过http请求访问的数据,并由服务器以逗号分隔的格式发送回去,我有以下代码: site= 'www.example.com' hdr = {'User-Agent': 'Mozilla/5.0'} req = urllib2.Request(site,headers=hdr) page = urllib2.urlopen(req) soup = BeautifulSoup(page) soup = soup.get_text() text=str(soup) 文本内容如下: april,2,5,7 may,3,5,8 june,4,7,3 july,5,6,9 如何将这些数据保存到CSV文件中。我知道我可以按照以下步骤做一些事情,逐行进行迭代: import StringIO s = StringIO.StringIO(text) for line in s: 但是我不确定现在如何正确地将每一行写入CSV 编辑--->感谢您提供的反馈,该解决方案非常简单,可以在下面看到。 解: import StringIO s = StringIO.StringIO(text) with open('fileName.csv', 'w') as f: for line …
100 python  string  file  csv  io 

1
读取pandas数据框的前几行的方法
是否有内置的使用方式 read_csv仅读取n文件的前几行而无需提前知道行的长度?我有一个大文件,需要花费很长时间才能读取,偶尔只想使用前20行来获取它的样本(并且不希望加载完整的文件并花大头)。 如果我知道总行数,则可以执行类似的操作footer_lines = total_lines - n并将其传递给skipfooter关键字arg。我当前的解决方案是n使用python和StringIO 手动将第一行抓取到熊猫: import pandas as pd from StringIO import StringIO n = 20 with open('big_file.csv', 'r') as f: head = ''.join(f.readlines(n)) df = pd.read_csv(StringIO(head)) 并没有那么糟,但是有没有更简洁的“ pandasic”(?)方式来处理关键字或其他内容呢?
100 python  pandas  csv  dataframe 

3
获取pandas.read_csv以将空值读取为空字符串而不是nan
我正在使用pandas库读取一些CSV数据。在我的数据中,某些列包含字符串。该字符串"nan"是一个可能的值,一个空字符串也可以。我设法让大熊猫将“ nan”读取为字符串,但是我不知道如何获取不读取空值的NaN。这是示例数据和输出 One,Two,Three a,1,one b,2,two ,3,three d,4,nan e,5,five nan,6, g,7,seven >>> pandas.read_csv('test.csv', na_values={'One': [], "Three": []}) One Two Three 0 a 1 one 1 b 2 two 2 NaN 3 three 3 d 4 nan 4 e 5 five 5 nan 6 NaN 6 g 7 seven 它正确地写着“男”为字符串“南”,但仍读取空单元格作为NaN的。我想传递str的converters参数read_csv(带converters={'One': str})),但它仍然读取空单元格作为NaN的。 我意识到我可以在读取后使用fillna填充值,但是真的没有办法告诉熊猫特定CSV列中的空单元格应被读取为空字符串而不是NaN吗?
100 python  csv  pandas 

16
如何将JSON转换为CSV格式并存储在变量中
我有一个在浏览器中打开JSON数据的链接,但是不幸的是我不知道如何读取它。有没有一种方法可以使用JavaScript以CSV格式转换此数据并将其保存在JavaScript文件中? 数据如下: { "count": 2, "items": [{ "title": "Apple iPhone 4S Sale Cancelled in Beijing Amid Chaos (Design You Trust)", "description": "Advertise here with BSA Apple cancelled its scheduled sale of iPhone 4S in one of its stores in China\u2019s capital Beijing on January 13. Crowds outside the store in …
99 javascript  json  csv 

10
如何将CSV文件转换为多行JSON?
这是我的代码,非常简单的东西... import csv import json csvfile = open('file.csv', 'r') jsonfile = open('file.json', 'w') fieldnames = ("FirstName","LastName","IDNumber","Message") reader = csv.DictReader( csvfile, fieldnames) out = json.dumps( [ row for row in reader ] ) jsonfile.write(out) 声明一些字段名称,阅读器使用CSV读取文件,并使用字段名称将文件转储为JSON格式。这是问题所在... CSV文件中的每个记录都在不同的行上。我希望JSON输出采用相同的方式。问题是它把所有的东西都丢在一条长长的长线上。 我试过使用类似的for line in csvfile:代码,然后在该代码下面运行我的代码,reader = csv.DictReader( line, fieldnames)该代码循环遍历每一行,但它在一行上执行整个文件,然后在另一行上遍历整个文件...继续直到行数结束。 有任何纠正建议吗? 编辑:澄清一下,目前我有:(第1行的每条记录) [{"FirstName":"John","LastName":"Doe","IDNumber":"123","Message":"None"},{"FirstName":"George","LastName":"Washington","IDNumber":"001","Message":"Something"}] 我正在寻找的是:(2条记录中的2条记录) {"FirstName":"John","LastName":"Doe","IDNumber":"123","Message":"None"} {"FirstName":"George","LastName":"Washington","IDNumber":"001","Message":"Something"} 不是每个单独的字段缩进/在单独的行上缩进,而是每个记录都在其自己的行上。 …
98 python  json  csv 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.