如何删除 csv 文件中第 [2] 列每一行中分隔符 (.) 后的符号?

如何删除 csv 文件中第 [2] 列每一行中分隔符 (.) 后的符号?


文件结构:


Date, Time, Open, High, Low, Last, Volume, NumberOfTrades, BidVolume, AskVolume

2019/12/30, 14:38:01, 3233.00, 3233.00, 3230.00, 3233.00, 1, 1, 0, 1

2019/12/30, 14:38:01.1, 3233.25, 3233.00, 3230.00, 3233.25, 2, 1, 0, 2

2019/12/30, 14:43:13, 3230.00, 3230.25, 3230.00, 3230.00, 1, 1, 1, 0

2019/12/30, 15:12:47, 3224.50, 3224.75, 3224.50, 3224.50, 2, 1, 2, 0

2019/12/30, 15:12:47.1, 3224.50, 3224.75, 3224.50, 3224.50, 2, 1, 2, 0

2019/12/30, 15:12:47.2, 3224.50, 3225.50, 3224.50, 3224.50, 2, 1, 2, 0

2019/12/30, 15:12:58, 3224.50, 3225.50, 3224.50, 3224.50, 2, 1, 2, 0

2019/12/30, 15:13:14, 3224.50, 3224.75, 3224.50, 3224.50, 2, 1, 2, 0

2019/12/30, 15:13:14.1, 3224.50, 3225.25, 3224.50, 3224.50, 2, 1, 2, 0

任务是删除第二列“时间”中的毫秒数(.1、.2、.33、.444 等)


14:38:01.1 edit to 14:38:01

14:43:13 do not edit

15:12:47.1 edit to 15:12:47

15:12:47.2 edit to 15:12:47 


00:00:00.123 edit to 00:00:00

文件非常大,因此应该通过创建其他 .csv 文件来进行修改,而不是更新原始文件。


import csv

f = open('Book1.csv')

csv_f = csv.reader(f)


for row in csv_f:

我被困在这里了。


我试过了,但这不是解决方案。


row[2] = row[2][:-4] 

预先感谢您的任何帮助


叮当猫咪
浏览 115回答 3
3回答

慕沐林林

这可以用split()编辑:将 row[2] 更改为 row[1],问题是错误的,我按照问题流程进行了row[1] = row[1].split(".")[0]

猛跑小猪

如果你愿意使用pandas你可以使用converters参数pd.read_csv:>>> df = pd.read_csv('book1.csv', converters={' Time': lambda x:x[:9]})         Date       Time     Open  ...   NumberOfTrades   BidVolume   AskVolume0  2019/12/30   14:38:01  3233.00  ...                1           0           11  2019/12/30   14:38:01  3233.25  ...                1           0           22  2019/12/30   14:43:13  3230.00  ...                1           1           03  2019/12/30   15:12:47  3224.50  ...                1           2           04  2019/12/30   15:12:47  3224.50  ...                1           2           05  2019/12/30   15:12:47  3224.50  ...                1           2           06  2019/12/30   15:12:58  3224.50  ...                1           2           07  2019/12/30   15:13:14  3224.50  ...                1           2           08  2019/12/30   15:13:14  3224.50  ...                1           2           0[9 rows x 10 columns]

Cats萌萌

使用 pandas dataframe 读取文件,然后在下面使用:import pandas as pddf = pd.read_csv('Book1.csv')df['Time'] = df['Time'].str.split('.').str[0]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python