Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >将(键、值)数据转换为csv格式

将(键、值)数据转换为csv格式
EN

Stack Overflow用户
提问于 2016-07-19 14:15:38
回答 0查看 261关注 0票数 0

假设我们有一个数据文件,格式如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ cat data.txt
  a:23 b:25 c:76 d:45
  a:21 b:24 c:25 
  a:20 d:52 e:75 f:75 g:52
  ...
  (many lines)
  ...

假设此文件太大,无法读取到内存中,那么将此数据转换为csv格式的最快方法是什么?

输出应该包含一个标头,其中包含文件中所有可能的“键”;如果某一行缺少特定的键,那么该行上的键的值应该等于零。例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ cat csv.txt
//a,b,c,d,e,f,g
23,25,76,45,0,0,0
21,24,25,0,0,0,0
20,0,0,52,75,75,52
... 
(many lines)
... 

这是我尝试过的。它起作用了,但我感觉所有的循环都在减慢我的速度。有没有一种更快、更优化的方法来做到这一点?我使用的是Perl,但我当然愿意切换到Python或其他东西。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# transform_test.pl 

# build set of all used keys.
my %usedKey;
open FILE, "data.txt";
while(<FILE>) {
        chomp $_;
        my @fields = split;
        foreach my $field (@fields) {
                my ($key,$value) = split(":",$field);
                $usedKey{$key} = 1;
        }
}
close FILE;

# build array of all used keys, but sorted.
my @sorted_keys = sort keys %usedKey;

# print header
my $header = "//";
foreach my $key (@sorted_keys) { $header .= "$key,"; }
chop $header;
print "$header\n";

# read through file again to transform the data;
open FILE, "data.txt";
while(<FILE>) {
        chomp $_;

        # build current line hash
        my @fields = split;
        my %currentData;
        foreach my $field (@fields) {
                my ($key,$value) = split(":",$field);
                $currentData{$key} = $value;
        }

        # build string by looping over all sorted keys.
        my $toPrint = "";
        foreach my $key (@sorted_keys) {
                $toPrint .= defined $currentData{$key} ? "$currentData{$key}," : "0,"; 
        }
        chop $toPrint;
        print "$toPrint\n";
}
EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38461066

复制
相关文章
VOC格式转CSV
import osimport xml.dom.minidom path_img = "VOC2007/JPEGImages"path_xml = "VOC2007/Annotations" xml_list = []for xml1 in os.listdir(path_xml): if xml1.endswith(".xml"): xml_list.append(xml1) csv_labels = open("csv_labels.csv", "w")for xml_file i
狼啸风云
2021/01/13
1.1K0
将VOC格式的数据集转换为COCO格式
import xml.etree.ElementTree as ETimport osimport json coco = dict()coco['images'] = []coco['type'] = 'instances'coco['annotations'] = []coco['categories'] = [] category_set = dict()image_set = set() category_item_id = -1image_id = 20180000000annotation_id
狼啸风云
2021/06/09
3.2K0
用Wolfram语言把表格图像转换为CSV格式
在该表中,水平和垂直网格线比单元格的背景更暗。FindPeaks 用于查找这些网格线的位置。getGridLines 将返回包含行和列网格坐标的两个列表的列表。
WolframChina
2019/07/31
9630
用Wolfram语言把表格图像转换为CSV格式
MongoDB导出csv格式数据
第一步: 在cmd中进入mongodb的安装目录下的bin文件夹 C:\Users\zzz>cd C:\Program Files\MongoDB\Server\4.0\bin 第二步: 从MongoDB导出csv格式数据 mongoexport --host localhost --db IP_cool -c standby --csv -f ip,port,anony_type,address,test_count,success_rate -o C:\Users\kzb\Deskt
K同学啊
2019/01/22
3.7K0
pandas实战 | NC格式站点观测转csv表格
今年拿到的观测资料是nc格式,为了保证去年的脚本还能正常使用,可以考虑先将观测转为csv表格。NC数据的信息如下:
MeteoAI
2021/11/12
1.7K0
Python数据格式-CSV
CSV文件:Comma-Separated Values,中文叫,逗号分隔值或者字符分割值,其文件以纯文本的形式存储表格数据。该文件是一个字符序列,可以由任意数目的记录组成,记录间以某种换行符分割。每条记录由字段组成,字段间的分隔符是其他字符或者字符串。所有的记录都有完全相同的字段序列,相当于一个结构化表的纯文本形式。 用文本文件、EXcel或者类似与文本文件的都可以打开CSV文件。 写入CSV 在Python中把数据写入CSV文件,示例如下: import csv #需要导入库 with open
Python研究者
2020/09/28
1K0
Python数据格式-CSV
python将webp格式的图片转换为png格式
#!/usr/bin/env python # -*- coding:utf-8 -*- import os import time from multiprocessing.dummy import Pool from PIL import Image # tinypng 批量将文件夹下的webp文件转换为png格式 def convert(pic): pic_list = pic.split('.') name = pic_list[0] # print(name)
槽痞
2020/06/23
2.4K0
将tensor转换为图像_tensor转int
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/07
11.5K0
CSV逗号分隔值格式文件(示例分析)
CSV全称Comma Separated Values是"逗号分隔值"的英文缩写.通常是纯文本文件,可以被文本编辑软件,Excel或WPS表格打开. 基本规则 开头不留空,以行为单位; 列名(标题)放在第一行(可忽略不加列名); 每一行数据以换行结束,无空行; 以半角逗号作分隔符,列为空也要表达其存在; 列内容如存在半角逗号则用半角引号("")将该字段值包含起来; 列内容如存在半角引号则需要使用半角双引号("")转义,并用半角引号("")将该字段值包含起来; 文件读写时引号,逗号操作规则互逆; 内码格式不限
Qt君
2019/07/15
3.5K0
将png格式的图像转换为jpg
import osfrom PIL import Imagedirname_read="D:\dataset\cityscapes\cityscape_voc_clean\JPEGImages_png\\"dirname_write="D:\dataset\cityscapes\cityscape_voc_clean\JPEGImages_jpg\\"names=os.listdir(dirname_read)count=0for name in names: img=Image.open(dirna
狼啸风云
2020/07/16
2.3K0
将Cityscape转换为PASACAL VOC格式的目标检测数据集
1、将Cityscape中的json格式的标注转换为.txt格式的标签# convert cityscape dataset to pascal voc format dataset# 1. convert every cityscape image label '.json' to '.txt'import jsonimport osfrom os import listdir, getcwdfrom os.path import joinimport os.pathrootdir = 'D:\datas
狼啸风云
2020/07/14
2.5K0
sklearn数据集转换为csv以及数据集描述
radius 半径(从中心到边缘上点的距离的平均值) texture 纹理(灰度值的标准偏差) perimeter 周长 area 面积 smoothness 平滑度(半径长度的局部变化) compactness 紧凑度(周长 ^ 2 /面积 - 1.0) concavity 凹面(轮廓的凹部的严重性) concave points 凹点(轮廓的凹部的数量) symmetry 对称性 fractal dimension 分形维数(海岸线近似 - 1)
lovelife110
2021/01/14
1.1K0
PHP将PDO读取的数据转JSON格式输出
数据库结构及内容如下: PHP处理 <?php // 链接数据库 require_once('conn.php'); // 头部声明为json header("Content-type:applic
岳泽以
2023/04/23
2.6K0
PHP将PDO读取的数据转JSON格式输出
xlsx转格式为csv时,编码格式不兼容导致打不开。
1、按<Ctrl+H>键 2、点击[查找内容] 3、点击[替换为] 4、点击[全部替换] 5、点击[另存为] 6、点击[编码] 7、点击[UTF-8] 8、点击[保存] 9、点击[文件名] 10、点击[保存类型] 11、点击[所有文件] 12、点击[保存]
裴来凡
2022/05/28
2.4K0
xlsx转格式为csv时,编码格式不兼容导致打不开。
将 Word 转换为 Markdown格式【详细版本】2022.5.6
(2) Word 格式 另存为Markdown(这是最关键的一步~) (3)转换后的.md文档这里用vscode打开查看效果
MIKE笔记
2023/03/22
4.3K0
将 Word 转换为 Markdown格式【详细版本】2022.5.6
教你如何免费将XPS转换为PDF格式
XPS文件在我们日常工作中使用比较少,大部分时候我们都会将它转换成PDF格式后进行修改或保存等操作,不懂这种文档要怎么打开?其实这些都不重要,只要你知道PDF就可以,教你几种将XPS转成PDF的方法,还有免费使用哦。
全栈程序员站长
2022/09/05
1.4K0
使用fasterq-dump命令将sra格式数据转换为fastq格式遇到的问题
从NCBI下载了一些转录组数据,这里用到的下载工具是kingfisher ,github的链接是 https://github.com/wwood/kingfisher-download
用户7010445
2022/02/17
5.6K0
开源工具将Markdown格式转换为微信公众号格式
工具不仅能完美转换Markdown格式到微信公众号格式,还能把链接自动转换为参考文献索引,并且附在文字末尾
zhaoolee
2019/03/20
1.9K0
开源工具将Markdown格式转换为微信公众号格式
python pandas读取csv文件_pandas将数据写入csv
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/175441.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/27
5.9K0
python pandas读取csv文件_pandas将数据写入csv
点击加载更多

相似问题

将键:值转换为CSV文件

11

将csv数据转换为数组格式

44

将JSON数据转换为CSV格式

10

以组合键格式将dict转换为CSV。

11

将npz转换为csv格式时出现键错误

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文