当前位置: 首页 > news >正文

csv数据的写入

写入 CSV 文件


(一)使用`arcpy.da.InsertCursor`

`arcpy.da.InsertCursor`是用于向表格中插入数据的工具。如果你需要将处理后的数据写入 CSV 文件,可以先将数据写入一个临时表,然后将该表导出为 CSV 文件。


示例:将数据写入 CSV 文件

假设我们有一些处理后的数据,需要将其写入一个新的 CSV 文件:

```python
import arcpy# 指定输出 CSV 文件路径
output_csv = r"C:\path\to\output_data.csv"# 创建一个临时表
temp_table = r"in_memory\temp_table"
arcpy.CreateTable_management("in_memory", "temp_table")
arcpy.AddField_management(temp_table, "id", "LONG")
arcpy.AddField_management(temp_table, "name", "TEXT")
arcpy.AddField_management(temp_table, "latitude", "DOUBLE")
arcpy.AddField_management(temp_table, "longitude", "DOUBLE")# 插入数据
data = [(1, "Location A", 40.7128, -74.0060),(2, "Location B", 34.0522, -118.2437),(3, "Location C", 51.5074, -0.1278)
]with arcpy.da.InsertCursor(temp_table, ["id", "name", "latitude", "longitude"]) as cursor:for row in data:cursor.insertRow(row)# 将临时表导出为 CSV 文件
arcpy.TableToTable_conversion(temp_table, output_csv, "output_data.csv")
```

(二)直接写入 CSV 文件

如果你不需要使用 ArcPy 的地理处理功能,可以直接使用 Python 的标准库`csv`模块来写入 CSV 文件。这种方法更简单,适合处理纯文本数据。


示例:使用`csv`模块写入 CSV 文件


```python
import csv# 指定输出 CSV 文件路径
output_csv = r"C:\path\to\output_data.csv"# 数据
data = [(1, "Location A", 40.7128, -74.0060),(2, "Location B", 34.0522, -118.2437),(3, "Location C", 51.5074, -0.1278)
]# 写入 CSV 文件
with open(output_csv, mode="w", newline="", encoding="utf-8") as file:writer = csv.writer(file)writer.writerow(["id", "name", "latitude", "longitude"])  # 写入表头writer.writerows(data)  # 写入数据
```

相关文章:

  • SharpMap与TerraLib:C#与C++开源GIS库
  • 蓝桥杯算法实战分享:C/C++ 题型解析与实战技巧
  • 【“星睿O6”AI PC开发套件评测】GPU矩阵指令算力,GPU带宽和NPU算力测试
  • npm i 出现permission denied
  • AtCoder 第402场初级竞赛 A~E题解
  • JavaScript 渲染内容爬取实践:Puppeteer 进阶技巧
  • Socket
  • 【STL】unordered_map
  • 【速写】多LoRA并行衍生的一些思考
  • Nginx:前后端分离配置(静态资源+反向代理)
  • navicat导入sql文件 所有问题解决方法集合
  • ios开发中xxx.debug.dylib not found
  • day21 | 26暑期实习
  • windows server2019 内网离线安装mysql5.7方式;windows server2019安装软件提示丢失msvcp100.dll问题处理
  • char32_t、char16_t、wchar_t 用于 c++ 语言里存储 unicode 编码的字符,给出它们的具体定义
  • Linux系统编程 day9 SIGCHLD and 线程
  • uniapp开发2--uniapp中的条件编译总结
  • 【HarmonyOS】ArKUI框架
  • 基于贝叶斯优化的Transformer多输入单输出回归预测模型Bayes-Transformer【MATLAB】
  • HarmonyOS Next 编译之如何使用多目标产物不同包名应用
  • 神二十航天员公布
  • 读懂城市丨“花木之乡”沭阳,一场持续五年的“诚信实验”
  • 解放日报:128岁的凤凰自行车“双轮驱动”逆风突围
  • 张文宏:加强基层医疗体系建设,提升传染病早期监测和预警能力
  • 《上海国际金融中心进一步提升跨境金融服务便利化行动方案》印发
  • “雷公”起诉人贩子王浩文案将开庭:索赔6元,“讨个公道”