如何将列从一个CSV文件复制到另一个CSV档案



我有一个input.csv文件,我只想将呼叫电话为92的那些行复制到output.csv文件中。

这就是input.csv的

calling phone;receiving phone;date;price
49;45;2020-11-08;12
65;39;2020-06-21;8
40;35;2020-01-10;4
28;56;2020-07-19;10
46;68;2020-08-22;14
65;92;2020-05-28;1
11;12;2020-07-11;11
70;76;2020-02-16;15
92;88;2020-04-24;0
92;84;2021-01-19;19
45;76;2020-03-17;11
78;67;2020-08-11;2

您只需通过即可实现

import pandas as pd
df = pd.read_csv("input.csv", delimiter=";")
output = df.where(df["calling phone"] == 92).dropna()
output.to_csv("output.csv", sep=";")

该代码使用panda导入.csv文件,筛选与要查找的行数匹配的行,然后将其导出到另一个.csv文件。

您也可以直接使用regex来实现相同的目标,但我想这会使问题稍微复杂一些。希望能有所帮助。

你可以用纯Python这样做:

import csv

out = []
with open("input.csv", newline="") as csvfile:
reader = csv.reader(csvfile, delimiter=";")
# Get the header.
out.append(next(reader))
for row in reader:
if row[0] == "92":
out.append(row)

with open("out.csv", "w", newline="") as csvfile:
writer = csv.writer(csvfile, delimiter=";")
writer.writerows(out)

以下是运行该脚本后的out.csv

calling phone;receiving phone;date;price
92;88;2020-04-24;0
92;84;2021-01-19;19

最新更新