<p>如果您的csv文件中有一组行,那么使用Pandas可能是执行此任务的合适方法。你知道吗</p>
<p>下面是一个示例,如何将“$30000-$39999”转换为浮点数,如“30000.0”,“39999.0”下面是代码:</p>
<h2>从csv读取数据到DataFrame</h2>
<pre><code>import pandas as pd
df = pd.read_csv('test.csv', sep = ';', header = None)
print(df)
Out[1]:
0 1 2 3 4 5 6 7 \
0 $30,000 - $39,999 RENTER German N 1 25-29 German 1 3RD PL UNIT 703
8 9 10 11 12 13 14 15 16
CA LONG BEACH LOS ANGELES 90802 $7.00 - $7.99 7Day FM 0 CircAdm
</code></pre>
<h2>在数据帧中处理数据</h2>
<pre><code>df = pd.concat([df[df.columns[1:]], df[0].replace('[$|,]', value='', regex = True).str.split(r'[$-]', expand = True).astype(float).rename(columns = {0:'price1', 1: 'price2'})], axis = 1)
print(df)
Out[2]:
1 2 3 4 5 6 7 8 9 \
0 RENTER German N 1 25-29 German 1 3RD PL UNIT 703 CA LONG BEACH
10 11 12 13 14 15 16 price1 price2
LOS ANGELES 90802 $7.00 - $7.99 7Day FM 0 CircAdm 30000.0 39999.0
# here it is become 'price1' and 'price2'
</code></pre>
<h2>将数据帧保存到文件</h2>
<pre><code>df.to_csv('test_out.csv')
</code></pre>