[英]how to read csv file with missing columns and remove first and last delimiter of each row?
[英]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.