📜  将文件记录到 csv (1)

📅  最后修改于: 2023-12-03 15:09:37.726000             🧑  作者: Mango

将文件记录到 CSV

CSV (Comma Separated Values) 是一种常用的文本格式,用于将表格数据传输或导出到其他应用程序。在程序开发中,将数据存储到 CSV 文件可以方便地将数据导入到其他应用程序中,如 Excel,R 或 Python Pandas 等。

一、Python

在 Python 中,使用内置的 csv 模块可以很容易地将数据写入 CSV 文件。以下是一个简单例子:

import csv

data = [
    ["John", "Doe", "john@example.com"],
    ["Jane", "Doe", "jane@example.com"],
]

with open('data.csv', mode='w', newline='') as file:
    writer = csv.writer(file)
    writer.writerows(data)

以上代码将一个包含两个用户的列表写入 data.csv 文件中,每个用户分别由名字、姓氏和电子邮件地址组成。在写入数据之前,首先需要打开文件,并在写入完成后将其关闭。with关键字可以确保文件在使用后自动关闭,而不需要手动处理。

在创建 csv.writer 对象时,我们需要使用 mode='w' 参数指定写入模式, newline='' 参数则表示使用默认的换行符。

对于输出,writerows() 方法能够一次写入多个行,每个行是由逗号分隔的值组成的列表。我们可以将所有行存储在一个列表中,然后将其传递给 writerows() 方法。

以下是写入 CSV 文件时支持的其他选项:

  1. delimiter:指定列之间的分隔符,默认为逗号。
  2. quotechar:指定字段周围的引号字符,默认为双引号。
  3. quoting:指定字段应何时进行引号处理,默认为 QUOTE_MINIMAL,表示只有在需要时才引用字段。
import csv

data = [
    ["John", "Doe", "john@example.com"],
    ["Jane", "Doe", "jane@example.com"],
]

with open('data.csv', mode='w', newline='') as file:
    writer = csv.writer(file, delimiter='|', quotechar='"', quoting=csv.QUOTE_MINIMAL)
    writer.writerows(data)
二、R

在 R 中,我们可以使用内置的 write.csv() 函数将数据写入 CSV 文件。以下是一个简单例子:

data <- data.frame(
  name = c("John", "Jane"),
  age = c(30, 25),
  email = c("john@example.com", "jane@example.com")
)

write.csv(data, file = "data.csv", row.names = FALSE)

以上代码将一个包含两个用户的数据框写入 data.csv 文件中,每个用户分别由名字、年龄和电子邮件地址组成。在写入数据之前,首先需要创建一个包含数据的数据框。

write.csv() 函数中,我们需要指定数据框,文件名和 row.names=FALSE 参数,表示在写入数据时不包括行名。

以下是写入 CSV 文件时支持的其他选项:

  1. quote:指定字段是否应该被引用,默认为 TRUE。
  2. sep:指定列之间的分隔符,默认为逗号。
  3. na:指定缺失值的表示方式,默认为字符串 "NA"。
data <- data.frame(
  name = c("John", "Jane"),
  age = c(30, 25),
  email = c("john@example.com", "jane@example.com")
)

write.csv(data, file = "data.csv", row.names = FALSE, quote = FALSE, sep = '|', na = '')
三、总结

无论是使用 Python 还是 R,将数据写入 CSV 文件都是非常容易的。只需要使用内置的函数或模块,设置必要的参数并执行即可。在记录数据时,需要注意选项如分隔符,引用字符和缺失值表示方式等。