读取 csv 文件并使用 php 创建另一个 csv 文件

2024-04-07

我有一个.csv文件,当我通过记事本打开它时,它看起来像:

ID501501503502

当我通过 php 在浏览器中打印它时,它看起来像

ID 501 501 503 502

我的代码是:

$handle = fopen("MonC1.csv", "r");
$data = fgetcsv($handle, 0);
$fh = fopen('php://output', 'w');
if (! empty($data)) {
  foreach ($data as $item) {
      echo $item."<br>";
     //fputcsv($fh, array($item));
  }
}

所以基本上brfor 循环内的标记不起作用。这是我的第一个问题。

第二个问题是即使我使用fputcsv(now it is turned off)它并没有创建一个实际的csv file.

现在我的问题是,为什么记事本中没有空间,而当我在浏览器中打印时却有空间?

我只有一栏,没有其他的。

非常感谢任何帮助。提前致谢。


正如我的评论中提到的,看起来您的原始文件是以 UNIX 行结尾保存的,然后您使用fgetcsv在 Windows 中,因此整个文件被作为一行读取。大概有一个<br>在整个输出的末尾。

因此,在处理文件之前,您需要对其进行预处理以转换行结尾。

在 Linux 上,该实用程序unix2dos做你想做的事。或者,您可以简单地替换\n with \r\n在你的文件中。

另一个问题是fgetcsv不会将整个文件转换为数组。相反,它从文件句柄中读取一行,并将其转换为数组。您需要读取循环内的行:

while (($data = fgetcsv($handle)) !== FALSE) {
  // $data contains one line of the CSV, in array form
  // now you can fputcsv the single line
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

读取 csv 文件并使用 php 创建另一个 csv 文件 的相关文章

随机推荐

  • pthread_mutex_t 可以在内存中移动吗?

    我想构建一个动态分配的 pthread mutex 数组 该数组将随着时间的推移而增长 添加更多互斥体 我的问题是 如果数组通过 realloc 移动 它们是否仍然有效 我担心的是 pthread mutex init 可能会以某种方式设置
  • 更新具有一个字段的当前最高(最大值)值的行[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我有这个 SQL 查询 这是错误的
  • 在Java中,如何从资源构造文件?

    File 在其构造函数中采用 String 和 URI getClass getResource 返回 URL 和getResourceAsStream 返回输入流 有没有办法从资源构造文件 你不能 至少在资源位于 Jar 内的标准情况下不
  • JPA/Hibernate - 与子实体一起分离实体

    我使用 JPA 2 和 Hibernate 3 6 8 作为实现 假设我们有一个实体Foo Entity public class Foo OneToOne private Bar bar 我需要将整个实体图从会话中分离出来 当我这样做时e
  • 使用 Java 将数据从 Cassandra 中的一个表复制到另一个表

    我正在尝试将所有数据从一个列族 表 移动到另一个列族 由于两个表都有不同的描述 我必须从 table 1 中提取所有数据并为 table 2 创建一个新对象 然后执行批量 aync 插入 我的 table 1 有数百万条记录 因此我无法直接
  • 如何使用Lua脚本语言打开Web套接字?

    作为初学者 我想在基于 Linux 的服务器上使用 Lua 打开一个 Web 套接字 该服务器应允许 Android 客户端连接到它 你能给我一些用Lua打开网络套接字的示例代码吗 您两周前已经问过同样的问题并得到了回答 LUA 脚本 We
  • 在 html5 Canvas 上移动对象

    我使用 fillText 选项在 html5 canvas 对象上放置了一个文本 问题是我需要移动文本位置或更改已渲染文本的颜色 很快我需要知道如何操作画布元素的特定子元素 这将在画布上移动一个小圆圈 var can document ge
  • 为什么 ng-bind-html 不显示任何内容?

    我正在显示一个包含 HTML 代码的字符串 div style font size 14px div put 它显示 HTML 代码而不是解释元素 当我使用ng bind and ng bind unsafe 它什么也没显示 如何获取要解析
  • 使用 df.merge 填充 df 中的新列给出奇怪的匹配

    我刚刚发现导致此问题的 2 个问题 请参阅下面的解决方案 我想基于另一个数据帧在我的数据帧 df 中创建一个新列 基本上 df2 包含我想要插入 df 的更新信息 为了复制我的真实情况 gt 1m 行 我将用简单的列填充两个随机 df 我使
  • 如何使用app.config.from_envvar? (烧瓶)

    如何使用app config from envvar 我查看了 Flask 文档并搜索了这个主题 我所知道的就是这样做 DATABASE flaskr db DEBUG True SECRET KEY development key app
  • 在 iOS 中将电子邮件/密码保存到钥匙串

    我对 iOS 开发非常陌生 所以如果这是一个新手问题 请原谅我 我的应用程序有一个简单的身份验证机制 它需要用户的电子邮件地址和密码 我还有一个开关 上面写着 记住我 如果用户打开该开关 我想保留他们的电子邮件 密码 以便将来可以自动填充这
  • 确定设备公网ip

    有谁知道如何获取 Android 设备的公共 IP 地址 我正在尝试运行服务器套接字 只是尝试简单的 p2p 这需要告知本地和远程用户彼此的公共IP 我确实找到了这个线程如何从代码中获取设备的IP地址 https stackoverflow
  • Perl:比较两个 CSV 文件并打印差异

    我是 Perl 的菜鸟 而且我很难完成这件事 我有两个单列 CSV 文件 我正在尝试将差异打印到第三个文件 File1 123 124 125 126 File2 123 124 127 Expected Output 125 126 12
  • 托管 clr 并捕获线程异常

    我正在尝试编写一个可以加载托管插件的插件系统 如果出现任何异常 主机应该能够卸载插件 对于我的 poc 我有一个 C 示例代码库 它会抛出这样的异常 public static int StartUp string arguments Co
  • @property 的详细名称

    我有一个 property called name in my class Person models Model first name models CharField Given name max length 255 last nam
  • 没有静态方法dispatchUnhandledKeyEventPre

    每当我按下后退按钮或菜单按钮时 我的应用程序就会崩溃 我正在使用 androidx 和 kotlin 下面是我的日志猫 07 06 18 47 25 538 22303 22303 com mnkafe mnkafe E InputEven
  • 如何获取其键与给定正则表达式匹配的哈希元素?

    如何获取其键与给定正则表达式匹配的哈希元素 不使用任何模块 例如 Tie Regexp Hash 如何实现这一目标 s as2 queen gt 1 as1 queen gt 2 my regex qr queen if s regex p
  • 带分号的元刷新

    我在网址中使用分号作为查询字符串分隔符 而不是和 我的问题是 当我尝试对查询字符串中带有分号的 url 进行元刷新时 它会将其转换为 253b 因此 转发时 我无法读取查询字符串参数 因为分隔符不再存在 例子 http domain com
  • 使用 facebook graph api 获取 Instagram 自己的/自我提要

    我对使用 Instagram API Graph API 很陌生 但找不到问题的答案 由于 Instagram API 已被弃用 现在我们必须处理 instagram facebook graph API 我知道新程序 https deve
  • 读取 csv 文件并使用 php 创建另一个 csv 文件

    我有一个 csv文件 当我通过记事本打开它时 它看起来像 ID501501503502 当我通过 php 在浏览器中打印它时 它看起来像 ID 501 501 503 502 我的代码是 handle fopen MonC1 csv r d