In [3]:
import numpy as np
import pandas as pd

In [4]:
# Series 也有 to_csv 方法:
dates = pd.date_range("2020/1/1", periods=7)
ts = pd.Series(np.arange(7), index=dates)
ts.to_csv("/tmp/ts.csv")
! cat /tmp/ts.csv


,0
2020-01-01,0
2020-01-02,1
2020-01-03,2
2020-01-04,3
2020-01-05,4
2020-01-06,5
2020-01-07,6

In [7]:
# 6.1.3 使用分隔格式
import csv
with open("6.1.3-csv.txt") as f:
    lines = list(csv.reader(f))
header, values = lines[0], lines[1:]
# 使用 字典推导式 和表达式 zip(*values) 生成包含数据列的字典
data_dict = {h: v for h, v in zip(header, zip(*values))}
data_dict


Out[7]:
{'a': ('1', '1'), ' "b"': (' "2"', ' "2"'), ' "c"': (' "3"', ' "3"')}

In [12]:
# 定义 CVS 文件的格式
class MyDialect(csv.Dialect):
    lineterminator = "\n"
    delimiter = ";"
    quotechar = '"'
    quoting = csv.QUOTE_MINIMAL
# reader = csv.reader(f, dialect=MyDialect)
with open("/tmp/mydata.csv", "w") as f:
    writer = csv.writer(f, dialect=MyDialect)
    writer.writerow(("one", "two", "three"))
    writer.writerow(("1", "2", "3"))
    writer.writerow(("4", "5", "6"))
    writer.writerow(("7", "8", "9"))
! cat /tmp/mydata.csv


one;two;three
1;2;3
4;5;6
7;8;9

In [ ]: