读取多个 CSV 文件

2024-04-14

需要提取大量信息,即

file1:

 10948|Book|Type1

file2:

SHA512||0||10948

file3:

0|10948|SHA512|c3884fbd7fc122b5273262b7a0398e63

我想把它变成类似的东西

 c3884fbd7fc122b5273262b7a0398e63|SHA512|Type1|Book

我无法访问实际的数据库,有什么办法可以做到这一点?基本上是在寻找一个$id = $file1[0]; if($file3[1] == $id)或其他东西,除非有更有效的方法。

每个 CSV 文件的行数从 100k 到 300k 不等。我不在乎是否需要一段时间,我可以让它在EC2上运行一段时间。


$data = array();

$fh = fopen('file1') or die("Unable to open file1");
while(list($id, $val1, $val2) = fgetcsv($fh, 0, '|')) {
   $data[$id]['val1'] = $val1;
   $data[$id]['val2'] = $val2;
}
fclose($fh);

$fh = fopen('file2') or die ("Unable to open file2");
while(list($method, null, null, null, $id) = fgetcsv($fh, 0, '|')) {
   $data[$id]['method'] = $method;
}
fclose($fh);

$fh = fopen('file3') or die("Unable to open file3");
while(list(null, $id, null, $hash) = fgetcsv($fh, 0, '|')) {
   $data[$id]['hash'] = $hash;
}
fclose($fh);

乏味,但你应该得到一个包含你想要的数据的数组。将其输出为另一个 csv 留给读者作为练习(提示:参见fputcsv() http://php.net/fputcsv).

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

读取多个 CSV 文件 的相关文章

随机推荐

  • 将 iPhone 应用程序上传到 AppStore 的步骤

    我想知道将我的 iPhone 应用程序上传到 AppStore 的基本步骤 如何使用证书创建配置文件以及上传应用程序还需要执行哪些其他设置 我刚刚使用 Xcode 和 iPhone SDK V2 2 1 在 iMac 上制作了一个应用程序
  • 所有方法都返回“.autoNumeric 不是函数 - 无法取消数字格式”

    我试图获取使用 autoNumeric 格式化的输入数字的原始值 但不能 因为我尝试执行此操作的每种方法都会返回 autoNumeric 不是函数 在控制台中 document ready function new AutoNumeric
  • 使用Android GPS检测并与其他手机连接

    所以我昨天问了类似的问题 并且确实收到了我的问题的答案 但是我真的认为我问得不正确 因此没有收到我需要的确切信息 我正在寻找 API 一些开源代码 甚至只是其他人在 Android 上实现这一目标的方法 我正在制作一个应用程序 需要查找指定
  • 为什么Python中没有len(file)?

    我对 Python 并不陌生 但我仍然很难理解是什么让某些东西变得 Pythonic 反之亦然 如果这是一个愚蠢的问题 请原谅我 但是为什么我不能通过执行 len file 来获取文件的大小 file len 甚至没有实现 所以它不像其他东
  • 过度使用 If else 语句

    我有一个查询 那就是我使用了一种方法 但是我很多次使用了 If Else 不是它变得非常含糊 请建议我也可以使用其他条件循环吗 下面是我的代码 if cardType AARP CARD TYPE userResponse messageB
  • HBase:创建多个表或包含多个列的单个表?

    什么时候创建多个表而不是创建具有大量列的单个表才有意义 据我了解 表通常只有几个列族 1 2 每个列族可以支持 1000 多个列 当 HBase 似乎在单个表中可能存在大量列时表现良好时 什么时候创建单独的表才有意义 在回答问题本身之前 让
  • SQL查询求和

    我有两张桌子 Unit Unit id Unit name Unit cost 成分 Component id Component name Unit id 它们通过以下方式连接在一起Unit id Unit id 1有名字Unit 1 N
  • DurandalJS 路由行为

    我拥有的 试图了解发生了什么以及如何控制它 我对尚未经过身份验证的用户有一个 公共 视图 对经过身份验证的用户有一个 主页 视图 这是我的路线配置 app start then function Replace viewmodels in
  • Golang 函数指针作为结构的一部分

    我有以下代码 type FWriter struct WriteF func p byte n int err error func self FWriter Write p byte n int err error return self
  • 选择特定时间范围内 datetime64[ns] 类型的观察

    我有一个熊猫数据框 dfnew 其中一列 时间戳 是datetime64 ns 类型 现在我想查看特定时间范围内有多少观测值 比如说 10 00 00 到 12 00 00 dfnew timestamp dfnew timestamp a
  • 英特尔 SGX 开发者许可和开源软件

    是否可以获得许可的开发人员证书 用于在生产模式下签署经过安全审查 社区开发的开源 SGX 软件二进制文件 并将其发布到 apt 或 rpm 等开源存储库上 我刚刚询问了Intel SGX团队 他们说只有经过验证的供应商才能获得证书并在生产模
  • socket.io - 发送对象必须使用 JSON

    我在前端有一个对象 我想将它广播到所有连接的客户端 我可以按照我定义的方式将其作为纯粹的对象发送吗 或者我总是必须在发送之前将其字符串化为 JSON 对象 我的对象 var myBox x 400 y 700 w 231 h 199 c r
  • 无法使用 git 扩展加载我的私钥

    过去2小时我一直在努力 我使用 xp dev 作为 git 存储库提供程序 因为我已经付款并且那里有 svn 存储库 我已经给了 xp dev 我的公钥 但是当克隆我的仓库时 我被拒绝了 C Program Files x86 Git bi
  • Angular 4:如何观察对象的变化?

    ETA 我知道有多种方式可以观看我的form进行更改 这不是我想做的 正如标题所示 我问的是如何监视object 下面显示的应用程序仅用于说明目的 请回答我提出的问题 谢谢 我有这个简单的应用程序 import Component OnIn
  • 使用shared_ptr的例子?

    你好 我今天问了一个关于如何在同一个向量数组中插入不同类型的对象 https stackoverflow com questions 3475030 different types of objects in the same vector
  • XML 模式:扩展 xsd:choice 以便创建选择的联合(而不是序列)

    我有以下 XML 架构
  • Visual Studio Code 自定义缩进样式

    无论出于何种原因 我讨厌它 但事实就是如此 我公司的标准风格是将大括号缩进到与它们包含的代码相同的水平 如下所示 public static string StringName get return string value 这在 Visu
  • 如何在 Django 中使用 UNION + 添加假列

    我正在尝试在 django ORM 中转换以下查询 SELECT MONTH date AS Month col1 col2 col3 col3 SUM col4 col4 SUM col5 col5 FROM table1 WHERE d
  • 我应该检查构造函数参数的类型(以及其他地方)吗?

    Python 不鼓励检查类型 但在许多情况下这可能很有用 检查构造函数参数 例如检查敌人的布尔值 字符串 字典等 如果我不这样做并将对象的成员设置为参数 稍后会导致问题 检查函数参数 在属性中 如果有人设置了错误的值或不同的类型 我应该快速
  • 读取多个 CSV 文件

    需要提取大量信息 即 file1 10948 Book Type1 file2 SHA512 0 10948 file3 0 10948 SHA512 c3884fbd7fc122b5273262b7a0398e63 我想把它变成类似的东西