繁体   English   中英

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

[英]How to remove symbols after delimiter (.) in every row of column [2] in csv file?

如何删除 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

文件很大,所以修改应该是创建other.csv文件,不要更新原来的。

import csv
f = open('Book1.csv')
csv_f = csv.reader(f)

for row in csv_f:

我被困在这里。

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

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

预先感谢您的任何帮助

这可以通过split()来完成

编辑:将 row[2] 更改为 row[1],问题是错误的,我按照问题流程进行

row[1] = row[1].split(".")[0]

如果您愿意使用pandas您可以在pd.read_csv中使用converters参数:

>>> df = pd.read_csv('book1.csv', converters={' Time': lambda x:x[:9]})

         Date       Time     Open  ...   NumberOfTrades   BidVolume   AskVolume
0  2019/12/30   14:38:01  3233.00  ...                1           0           1
1  2019/12/30   14:38:01  3233.25  ...                1           0           2
2  2019/12/30   14:43:13  3230.00  ...                1           1           0
3  2019/12/30   15:12:47  3224.50  ...                1           2           0
4  2019/12/30   15:12:47  3224.50  ...                1           2           0
5  2019/12/30   15:12:47  3224.50  ...                1           2           0
6  2019/12/30   15:12:58  3224.50  ...                1           2           0
7  2019/12/30   15:13:14  3224.50  ...                1           2           0
8  2019/12/30   15:13:14  3224.50  ...                1           2           0

[9 rows x 10 columns]

使用 pandas dataframe 读取文件,然后在下面使用:

import pandas as pd

df = pd.read_csv('Book1.csv')
df['Time'] = df['Time'].str.split('.').str[0]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM